jon*_*opf 6 ruby methods function
可能重复:
Ruby函数与方法
我只是阅读一些ruby文档,似乎以可互换的方式使用术语函数和方法,我想知道是否有任何区别?
我正在看的文档将此称为函数:
def saysomething()
puts "Hello"
end
saysomething
Run Code Online (Sandbox Code Playgroud)
这个方法:
def multiply(val1, val2 )
result = val1 * val2
puts result
end
Run Code Online (Sandbox Code Playgroud)
这可能是一种语义,但我想检查
JT
Emi*_*ily 10
在Ruby中,没有两个独立的方法和函数概念.有些人仍然使用这两个术语,但在我看来,在谈论Ruby时使用"function"是不正确的.不存在未在对象上定义的可执行代码片段,因为Ruby中没有任何内容不是对象.
正如Dan指出的那样,有一种方法可以调用使它们看起来像函数的方法,但底层的东西仍然是一种方法.您可以使用该method方法在IRB中实际看到这一点.
> def zomg; puts "hi"; end
#=> nil
> method(:zomg)
#=> #<Method: Object#zomg>
> Object.private_instance_methods.sort
#=> [..., :zomg]
# the rest of the list omitted for brevity
Run Code Online (Sandbox Code Playgroud)
所以你可以看到,该方法zomg是Object上的一个实例方法,并包含在Object的私有实例方法列表中.
| 归档时间: |
|
| 查看次数: |
4907 次 |
| 最近记录: |