Issue #10113 has been updated by Franck Verrot.


Ron Arias wrote:
> Trying to use simple Hash memoization with a ruby hash in a class method, it "fails" when having spaces as the hash key. Example code is attached.
> When calling the memoization method, it fails to maintain the instance variable. It resets the variable every time the method is called.
> When not having spaces in the key of the Hash, it works as it should, memoizing the variable.

I can only reproduce the behavior you are describing if I make the "heavy_calculations" method return nil or false. Do you have any specific work done in this method?

> P.S. Despite my ruby version indicated bellow, it fails in the newest as well.

I run on ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0].



----------------------------------------
Bug #10113: Ruby memoization behaving oddly when using hash keys with spaces
https://bugs.ruby-lang.org/issues/10113#change-48231

* Author: Ron Arias
* Status: Open
* Priority: Normal
* Assignee: ruby-core
* Category: core
* Target version: 
* ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Trying to use simple Hash memoization with a ruby hash in a class method, it "fails" when having spaces as the hash key. Example code is attached.
When calling the memoization method, it fails to maintain the instance variable. It resets the variable every time the method is called.
When not having spaces in the key of the Hash, it works as it should, memoizing the variable.

P.S. Despite my ruby version indicated bellow, it fails in the newest as well.

---Files--------------------------------
memoization_issue.rb (305 Bytes)


-- 
https://bugs.ruby-lang.org/