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