Issue #7432 has been updated by charliesome (Charlie Somerville).


This should definitely not be a method, however I would welcome a 'local' keyword for this purpose.
----------------------------------------
Feature #7432: Explicit way to define local variable in scope
https://bugs.ruby-lang.org/issues/7432#change-33850

Author: prijutme4ty (Ilya Vorontsov)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


Imagine code such as this
  def test_smth
    result = nil
    assert_nothing_raised { result = some_slow_calculation }
    assert_equal expected_answer, result
  end
Line `result = nil` means nothing more than our intention to simply bind variable `result` in scope of assertion block with outer local variable. In large methods it can be much heavier to find out this obscured intention.
It may be better to introduce a method (if it can be implemented) or a keyword which simply creates a local variable (probably with nil value just to mark its existence)

define_variable 'x' or (define_variable x if it's a keyword)


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