没有括号和显式所有者对象引用的单参数方法调用[重复]

Posted

技术标签:

【中文标题】没有括号和显式所有者对象引用的单参数方法调用[重复]【英文标题】:Single parameter method call without parenthesis and explicit owner object reference [duplicate] 【发布时间】:2013-03-18 12:58:14 【问题描述】:

就我初学者的 Scala 知识而言,没有任何方法可以达到最后一行。我希望我弄错了,我只是想确认一下。另外,我不明白为什么,因为编译器应该从 import 语句中知道 f 方法的所有者对象。

object A  def f(s: Any) = println(s) 
import A.f
A f 1 //Works
f 2 // Does not compile

为了澄清,有两个问题:

    应该如何调用没有括号和显式所有者对象引用的单参数方法? (见主题。) 编译器无法理解最后一条语句的原因是什么?

【问题讨论】:

【参考方案1】:
object A  def f(s: Any) println(s) 
import A.f
A f 1 //works
f(2) // works

What are the precise rules for when you can omit parenthesis, dots, braces, = (functions), etc.?

【讨论】:

谢谢,仅供参考 A.f(2) 也可以

以上是关于没有括号和显式所有者对象引用的单参数方法调用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

区别 b/w 在 C# 中隐式实现成员和显式实现成员 [重复]

C#接口的隐式和显式实现之间的区别[重复]

它们在隐式 ctor、无参数空体 ctor 和显式默认 ctor 之间是不是等效?

为字符串对象属性定义类型。泛型和显式类型之间的区别

隐式意图和显式意图

C#接口的隐式和显式实现