например.В Ruby можно создать локальную переменную явно
x = 123
p = Proc.new {
x = 'I do not want change the value of the outer x, I want to create a local x'
}
В Ruby Есть ли что-то такое же, что и «мое» ключевое слово в Perl?
например.В Ruby можно создать локальную переменную явно
x = 123
p = Proc.new {
x = 'I do not want change the value of the outer x, I want to create a local x'
}
В Ruby Есть ли что-то такое же, что и «мое» ключевое слово в Perl?
В соответствии с Perl документации my, я думаю, что вы ищете что-то, как показано ниже в Ruby: -
x = 123
p = Proc.new {|;x|
x = 'I do not want change the value of the outer x, I want to create a local x'
}
p.call
# => "I do not want change the value of the outer x, I want to create a local x"
x # => 123
Осторожно! (Связанный, хотя и не точно, что вы просите ...)
Правила изменения области изменяются между 1,8 и 1,9. См Variable Scope in Blocks
x = 100
[1,2,3].each do |x|
ведет себя по-разному в разных версиях. Если вы объявите переменную в блоке || который имеет то же имя, что и переменная вне блока, а затем в 1.8 изменит значение внешней переменной, а в 1.9 - нет.