Issue #4914 has been reported by Benjamin ter Kuile. ---------------------------------------- Bug #4914: Array#index fails when used in if statement assignment http://redmine.ruby-lang.org/issues/4914 Author: Benjamin ter Kuile Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] cat /etc/issue: Ubuntu 11.04 rvm -v: rvm 1.6.2 rvm 1.9.2, ruby -v: ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] Also tested with: rvm 1.9.2-head, ruby -v: ruby 1.9.2p274 (2011-06-06 revision 31932) [x86_64-linux] Test code: a = [:a, :b, :c] for k in 'a'..'c' if i = a.index(k.to_sym) && k.to_s =~ /b/ puts i end end for k in 'a'..'c' i = a.index(k.to_sym) if i && k.to_s =~ /b/ puts i end end output: 0 1 expected output: 1 1 -- http://redmine.ruby-lang.org