在Ruby中,左移意味着什么?

在Ruby中,左移意味着什么?,ruby,Ruby,谁能解释一下ruby中的“左移”语法是什么意思 例如,我有这个 File.open( folder, 'w' ){ |f| f << datavalue } File.open(文件夹,'w'){f | fFile.open(文件夹,'w'){f | fsome_text=“world!” 你好=“你好,” 您好然后答案是:这要看情况。我不想吹毛求疵,但Ruby几乎没有任何真正的运算符。在Ruby中,大多数“运算符”实际上是方法,这可能与Ruby中的一切都是对象一样 请考虑这个代

谁能解释一下ruby中的“左移”语法是什么意思

例如,我有这个

File.open( folder, 'w' ){ |f| f << datavalue } 
File.open(文件夹,'w'){f | f
File.open(文件夹,'w'){f | f
some_text=“world!”
你好=“你好,”

您好然后答案是:这要看情况。我不想吹毛求疵,但Ruby几乎没有任何真正的运算符。在Ruby中,大多数“运算符”实际上是方法,这可能与Ruby中的一切都是对象一样

请考虑这个代码

o.x = a + b
o.x=(a.+(b))
a = b << c
这里没有运算符,因为实际上这只是编写此代码的另一种方法

o.x = a + b
o.x=(a.+(b))
a = b << c
x=
是setter方法的名称,
+
也是对象
a
的方法名称。在Ruby中,其他语言中的运算符字符可以用作方法名称的一部分(想想Ruby方法名称中常用的

所以这个代码

o.x = a + b
o.x=(a.+(b))
a = b << c

<> P>但是,在<代码> FixNuM<代码> <代码>我认为你应该考虑阅读一些Ruby语言的介绍。对于初学者来说,有很多Ruby教程。它会帮助你理解你所得到的答案。
class MyClass
  # If you prefer, can also be written as
  # def << x 
  def << ( x )
    # do something with x
  end
end

o = MyClass.new()
x = o << a