【发布时间】:2017-03-10 01:07:04
【问题描述】:
我想知道 Ruby 中点和运算符符号之间的区别。这里有一些例子
# Use dot notation to invoke a method
"I'm thirty one characters long!".length
# => 31
# Use operator notation to invoke a method
"Kit" + "tens!"
# => "Kittens!"
由于调用一个方法并返回相似的对象,我怀疑点表示法或运算符方法更有效。任何想法表示赞赏。
【问题讨论】:
-
对于某些方法,您不会找到运算符符号或点符号。例如
5.add(3),除非你实现它。另一个例子是使用操作符调用 .length 方法——你不能那样做。在谈论效率时,我们实际上应该有一些可以比较的东西。如果您提供了一个包含双向调用方法的示例,我们可以做到这一点。 -
第一个想法:对它们进行基准测试(ruby 甚至有一个内置的基准模块)
-
“由于调用一个方法并返回相似的对象,我怀疑点符号或运算符方法更有效。” – 我不遵循您的逻辑:您基本上是在说“由于两者都做完全相同的事情,因此必须更有效率”。但这没有任何意义:如果它们都做完全相同的事情,那么您会期望它们的效率完全相同。
标签: ruby