如果我将此文件作为" ruby x.rb
" 运行:
class X
end
x = X.new
Run Code Online (Sandbox Code Playgroud)
什么叫" X.new
"?
它是一个对象/进程/等?
使用Ruby模块,您可以将一组可能在一个地方使用的方法聚集在一起,然后将它们包含在一个类中,就好像您已经在该类中编写它们一样.
rails应用程序中的Ruby模块有哪些实际用途?
如果有人能提到他们实际使用自己的模块的例子,我会很感激,所以我对我应该考虑创建它们的情况有所了解.谢谢.
在下面的例子中,为什么我们说"k.send:hello"而不是"k.receive:hello"如果,如其他地方所述,k实际上是接收器?
它听起来像k是发送者,而不是接收器.
当我们说"k.send:你好"谁发送,如果不是k?
(你和我一样困惑吗?)
class Klass
def hello
"Hello!"
end
end
k = Klass.new
k.send :hello #=> "Hello"
k.hello #=> "Hello"
Run Code Online (Sandbox Code Playgroud) 如果我说
x.hello()
Run Code Online (Sandbox Code Playgroud)
在Java中,对象x"调用"它包含的方法.
在Ruby中,对象x正在"接收"它包含的方法.
这只是表达相同想法的不同术语,还是这里的意识形态存在根本差异?
来自Java,我发现Ruby的"接收器"想法非常令人困惑.也许有人可以解释这与Java有关吗?