Ruby

帰ってきたrubyクイズ 文字列の「+=」と「<<」

More than 1 year has passed since last update.

問題

第1問

s = "123"
ss = s
s += "456"
puts s  #=> ?
puts ss #=> ?

第2問

s = "123"
ss = s
s << "456"
puts s  #=> ?
puts ss #=> ?

:mouse:
:cow:
:tiger:
:rabbit:
:dragon_face:
:snake:
:horse:
:sheep:
:monkey_face:
:bird:
:dog:
:boar:
:mouse:
:cow:
:tiger:
:rabbit:
:dragon_face:
:snake:
:horse:
:sheep:
:monkey_face:
:bird:
:dog:
:boar:

答え

第1問

s = "123"
ss = s
s += "456"
puts s  #=> "123456"
puts ss #=> "123"

第2問

s = "123"
ss = s
s << "456"
puts s  #=> "123456"
puts ss #=> "123456"

+=は代入演算子で、
<<はビット演算子なため、
起きる違いでした:hugging: