Scala基础入门(九)Scala 方法中缀表示法、后缀表示法
来源:互联网 发布:做网站必备软件 编辑:程序博客网 时间:2024/04/24 13:04
Scala 编程规范中,有一些很有意思的规则。合理地使用这些规则,可以帮助我们编写更简洁更有效的代码。
Scala 方法调用
一般来说,Scala中的方法调用遵循Java惯例。换句话说在目标方法和点符(.)之间是没有任何间隙的,并且最好遵循参数之间用逗号隔开,后面的参数与前面参数后面的逗号应该存在一个空格。调用target的foo方法示例如下:
foo(42, bar)
target.foo(42, bar)
target.foo()
在 Scala 2.8 版本中,开始支持命名参数。方法调用中命名的参数应该作为常规参数处理(相应的间距,以逗号为间隔),在等号的两边各有一个空格。形如:
foo(x = 6, y = 7)
0参调用
Scala 允许省略圆括号 () 调用无参方法。
reply()
// is the same as
reply
0参调用示例应用:
package com.byron4j.scala.basic.methodobject InfixDemo { def main(args: Array[String]): Unit = { /** * 无参方法调用: 可以省略圆括号 START... */ reply(); reply; /** * 无参方法调用: 可以省略圆括号 END */ } def reply() : Unit = { println("无参方法被调用!"); }}
输出结果为:
无参方法被调用!
无参方法被调用!
中缀表示法 Infix notation
Scala 有一种特殊的方法调用只有一个参数的方法。
// 推荐使用a + b// 有效,但是可读性不好a+b// 有效, 但是给人感觉很奇怪a.+(b)
但要避免使用几乎所有字母命名的方法:
// 推荐使用names.mkString(",")// 有时候也会看到使用; 但是有争议names mkString ","
但是在灰色区域像 max 这样的短方法,以下使用方法还是很常见的:
// 比较常见a max b
hello方法是一个只有一个参数的方法, 可以使用中缀表示法调用hello方法。
package com.byron4j.scala.basic.methodobject InfixDemo { def main(args: Array[String]): Unit = { /** * 无参方法调用: 可以省略圆括号 START... */ reply(); reply; /** * 无参方法调用: 可以省略圆括号 END */ /** * 中缀表示法 调用只含一个参数的方法 * 语法: 调用方 方法名 方法参数 */ InfixDemo hello "Lily"; } def reply() : Unit = { println("无参方法被调用!"); } def hello(name: String) : Unit = { println("Hello, " + name); }}
后缀表示法 Postfix Notation
后缀表示法适用于调用无参方法。前面的 reply 等同于 reply();就是后缀表示法。
阅读全文
0 0
- Scala基础入门(九)Scala 方法中缀表示法、后缀表示法
- Scala从零开始:中缀表示法和后缀表示法
- 波兰表示法与逆波兰表示法(前缀、中缀、后缀表达式)
- 重拾编程之路--数据结构--中缀表示法转换成后缀表示法
- 【数据结构】逆波兰表示法(RPN):中缀表达式转后缀表达式
- scala case语句中的中置表示法
- Scala基础入门(一)Scala 简介
- 中缀表达式转换成后缀表达式以及逆波兰表示法求值
- Scala基础入门(七)方法、类、对象详解
- Scala学习笔记 --- 空值的表示
- Scala基础入门(二) Scala下载、安装教程
- Scala基础入门(四)Scala中变量、常量
- Scala基础入门(六)Scala关键字、表达式
- Scala--基础入门
- Scala 基础语法入门
- Scala 入门基础
- Scala基础学习入门
- Scala练习(九)
- RK3368评测 RK3368方案 RK3368方案设计 RK3368性能如何 RK3368设计定制
- linux 多线程安全定时器
- 题目891-找点
- 2017.08.16工作日记
- python 嵌套函数、闭包装饰器、装饰器例子
- Scala基础入门(九)Scala 方法中缀表示法、后缀表示法
- 2017 Multi-University Training Contest
- mysql分库分表
- python 迭代器和生成器及例子
- 菜鸟的myeclipse快捷之路
- python 经典类和新式类
- Ajax简单解析
- python显示图片
- 学习记录(8)