Project

General

Profile

Actions

Feature #8600

closed

Recognize variables declared in if modifier at end of line

Added by rudolph9 (Kurt Rudolph) almost 9 years ago. Updated almost 9 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
[ruby-core:55783]

Description

=begin
2.0.0 (main):0 > .ruby -v
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]
2.0.0 (main):0 > ([0,1,2])[i] = 1.0 if i = ['seconds'].find_index('seconds')
NameError: undefined local variable or method i' for main:Object from (pry):1:in pry'

Is it possible to get rid of this kind of error? Especially since it doesn't matter what the value of the variable is so long as it's defined.

2.0.0 (main):0 > i = 10000
=> 10000
2.0.0 (main):0 > ([0,1,2])[i] = 1.0 if i = ['seconds'].find_index('seconds')
=> 1.0
=end


Related issues 3 (0 open3 closed)

Is duplicate of Ruby master - Feature #1141: assignment of variable in "right" if statement failsRejected02/11/2009Actions
Is duplicate of Ruby master - Feature #4965: The problem of "print line if line = DATA.gets"Rejectedmatz (Yukihiro Matsumoto)07/03/2011Actions
Is duplicate of Ruby master - Bug #6132: Assignments don't happen correctly in "if" modifiersRejected03/12/2012Actions
Actions

Also available in: Atom PDF