Scala标识符

字面量标识符
字面量标识符是用反引号`....`包括的任意字符串。如:
`x`   `<clinit>`   `yield`
思路是你可以把运行时环境认可的任意字符串放在反引号之间当作标识符。结果总被当作scala标识符。即使包含在反引号间的名称是scala保留字,这个规则也有效。在java的Thread类中访问静态的yield方法是它典型用例。你不能写Thread.yield(),因为yield是scala的保留字。然而可以在反引号里引用方法的名称,例如:Thread.`yield`()。

操作符标识符
操作符标识符由一个或多个操作符字符组成。操作符字符是一些如:+、:、?、-或#的可打印的ASCII字符(注:更精确地说,操作符字符属于数学符号(Sm)或其它符号(So)的Unicode集,或者不包含字母、数字、括号、方括号、花括号、单或双引号、或者下划线、句号、分号、冒号、回退字符的7位ASCII字符)。以下是一些操作符标识符的例子:
+  ++  :::  <?>  :  ->
Scala编译器将在内部“粉粹”操作符标识符以转换成合法的内嵌“$”的java标识符。例如,标识符:-> 将被内部表达为$colon$minus$greater。若你想从Java代码访问这个标识符,就应使用这种内部表达方式。
Scala里的操作符标识符可以变得任意长,因此在java和scala间有一些小差别。Java里,输入x<-y将会被拆分成四个词汇符号,所以写成x < - y也没什么不同。Scala里,<-将被作为一个标识符拆分,而得到x <- y。所以如果你想要以第一种方式解释,需要在“<”与“-”字符间加一个空格。


混合标识符
混合标识符由字母数字组成,后面跟着下划线和一个操作符标识符。如:unary_+被用做定义一元的“+”操作符的方法名、myvar_=被用做定义赋值操作符的方法名。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值