scala - 这些scala代码行是否等效?
问题描述
给定一个对象 myObject,它有一个 getSomething 方法,该方法接受一个字符串参数并返回一个字符串
#1 和 #2 是等价的吗?
val foo = myOjbect.getSomething("foo")
val foo = myOjbect getSomething "foo"
并且是否可以接受/优先于另一个?您什么时候使用 1 对 2,反之亦然?
解决方案
它们是严格等价的。
关于您的第二个问题,Stack Overflow 并不是真的要决定什么是可接受的或首选的。但是,您可以参考有关方法调用的 scala 文档,其中说明了这一点:
Scala 有一种特殊的无标点语法,用于调用带有一个参数的方法。许多 Scala 程序员将这种符号用于符号命名方法:
// recommended a + b // legal, but less readable a+b // legal, but definitely strange a.+(b)
但对于几乎所有以字母命名的方法,请避免使用它:
// recommended names.mkString(",") // also sometimes seen; controversial names mkString ","
推荐阅读
- python - matplotlib:从数据集中删除数据时散点图不更新
- hibernate - JPA persistence.xml 我希望它连接到 MariaDB,但它总是连接到 hsqldb
- c - 从 GSM-TCAP asn1 文件生成 C 代码时出错
- c# - 如何将“AddDbContext”与“AddSingleton”一起使用?
- asp.net - 将 FCM 消息从 API 服务器发送到多个设备?
- python - Pytest - 将夹具传递给 mark.parametrize
- react-native - 通过 onPress 传递数据不允许在函数中正确传递参数
- jquery - jquery 文件上传不适用于 bootstrap v4.1.3
- javascript - 将响应从 fetch() 转换为 JSON 对象
- c - 限制输入字符串字符