Ruby 试图理解电铲操作员的弦乐
我正在经历 在koans/about_strings.rb:100文件中Ruby 试图理解电铲操作员的弦乐,ruby,string,Ruby,String,我正在经历 在koans/about_strings.rb:100文件中 def test_the_shovel_operator_modifies_the_original_string original_string = "Hello, " hi = original_string there = "World" hi << there assert_equal "Hello, World", original_string
def test_the_shovel_operator_modifies_the_original_string
original_string = "Hello, "
hi = original_string
there = "World"
hi << there
assert_equal "Hello, World", original_string
# THINK ABOUT IT:
#
# Ruby programmers tend to favor the shovel operator (<<) over the
# plus equals operator (+=) when building up strings. Why?
end
def test\u电铲操作员修改原始字符串
原始字符串=“你好,”
hi=原始字符串
这里是“世界”
hi当您设置hi=original_string
时,您的hi
变量只是指向同一对象的新变量。如果查看hi.object\u id
和original\u string.object\u id
,您会发现它们是相同的。如果您想要一个对象的克隆,可以在不影响
original\u string
,您需要说类似于hi=original\u string.clone
或hi=original\u string.dup
谁创造了术语“铲式操作符”?我不确定我是否见过用于连接字符串的铲式操作符。一些更常见的技术是“#{hi}{there}”
或[hi,there]。加入
。再次查看第3行:在第3行中,您告诉Ruby使它们相同!因此,它们是相同的。