IRB和Ruby如何执行某些表达式有区别吗?为什么我在IRB和脚本中获得不同的结果?
这些表达式在IRB中以及从命令行运行时会产生不同的结果。问题是,哪一个是正确的?
IRB:
>> s = 'hello'
=> "hello"
>> s.size
>> s[s.length] = '!'
IndexError: index 5 out of string
from (irb):31:in `[]='
from (irb):31
>>
而在正常的脚本:
s = 'hello'
s[s.length] = '!'
puts s
laptop user$ ./prgruby.rb
hello!
第一个从irb提示符为我工作。 Windows上的ruby 1.9.2p0。 –
1.9.2p290/OSX,既不抛出异常。 – Amadan
也许这些脚本运行在不同的ruby中。在运行时通过打印ruby版本来检查它。 – megas