Scala的标识符构成方式有哪些

技术Scala的标识符构成方式有哪些本篇内容介绍了“Scala的标识符构成方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

本文介绍了关于“Scala的标识符有哪些方法?”很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

Scala中有两种形式的标识符:字母数字和运算符。Scala在编写标识符时有非常灵活的规则。除了这两个,你会看到还有另外两个。

字母数字标识符:字母数字标识符以字母或下划线开头,后面可以是字母、数字或下划线。“$”字符也被视为字母,但它被保留为Scala编译器生成的标识符。用户程序中的标识符不应包含“$”字符,尽管它可以被编译;但是,这可能会导致名称与Scala编译器生成的标识符冲突。

Scala遵循Java的驼峰风格,这种风格被称为驼峰风格:camel case,因为标识符由带有大写字母的嵌入式单词组成。习俗,如toString和HashSet。虽然下划线在标识符中是合法的,但它在Scala程序中并不常用,部分原因是它与Java一致,还因为它在Scala代码中有许多其他非标识符的用法。因此,* * *避免使用像to_string、___ init _、或name_这样的标识符。字段、方法参数、局部变量和函数的驼峰名称应该以小写字母开头,如length、flatMap和s。类和特性的驼峰名称应该以大写字母开头,如BigInt、List和UnbalancedTreeMap。

注意

在标识符末尾使用下划线的一个结果是,例如,如果您试图编写一个类似“val name _ : int=1”,你会收到一个编译器错误。编译器会认为你正常是定义一个叫做“name_:”的变量。要让它编译通过,你将需要在冒号之前插入一个额外的空格,如:“val name _ 3360 int=1”。"”的定义

Scala和Java的区别在于常量名。在Scala中,常量这个词和val不一样。尽管val在初始化后保持不变,但它仍然是一个变量。例如,方法参数是val,但是每次调用方法时,这些val可以表示不同的值。而常数更持久。比如斯卡拉。数学。圆周率被定义为非常接近实数的双精度值,它代表圆与其直径的比率。这个值不太可能改变,所以圆周率显然是一个常数。也可以用常量给代码中一些用作幻数的值起个名字:文本值没有解释力,如果出现在多个地方,那就极其糟糕了。您可能还需要定义用于模式匹配的常数。用例将在第15.2节中描述。在Java中,常量名称通常都是大写的,像MAX_VALUE或pi这样的单词用下划线隔开。在Scala中,习惯是只有* * *字母必须大写。因此,Java风格的常量名称,比如X_OFFSET,也可以用在Scala中,但是Scala的惯例是常量也使用驼峰式的,比如XOffset。

操作员标识符:操作员标识符由一个或多个操作员字符组成。操作符字符如,可打印的ASCII字符,~或#。更准确地说,运算符字符属于数学符号(Sm)或其他符号(So)的Unicode集合,或者不是字母、数字、括号、方括号、大括号、单引号或双引号的7位ASCII字符,或者下划线、句点、分号、冒号和向后字符。以下是操作员标识符的一些示例:

:-

Scala编译器将在内部“粉碎”运算符标识符,将其转换为嵌入“$”的合法Java标识符。例如,标识符:-将在内部表示为$冒号$减去$更大。如果您想从Java代码中访问这个标识符,您应该使用这个内部表达式。

Scala中的运算符标识符可以任意长,所以Java和Scala之间有一些小的区别。在Java中,输入的x -y会被分成四个词法符号,所以写X-Y没什么区别,在Scala中,-会被拆分为一个标识符得到X-Y,如果想得到* * *解释,应该在''和'-'字符之间加一个空格。这在实际应用中大概不会是问题,因为很少有人在用Java写x -y的时候不注意加空格或者括号。

混合标识符:混合标识符由字母数字字符组成,后跟下划线和运算符标识符。例如,一元_用作定义一元“”运算符的方法名。或者,使用myvar_=作为方法名来定义赋值运算符。总之,混合标识符格式myvar_=由Scala编译器生成,以支持属性:property;第十八章进一步解释。

文本标识符:文字标识符是用反引号括起来的任何字符串.`.例如:

` x` ` clinit` `yield `

这个想法是,您可以将运行时识别的任何字符串放在引号后面作为标识符。总是结果Scala标识符。即使后引号中的名称是Scala保留字,此规则也有效。在Java的Thread类中访问静态yield方法是一个典型的用例。你不能写Thread.yield(),因为yield是Scala的保留字。但是,您仍然可以在后面的引号中引用该方法的名称,例如Thread.`yield()。

“Scala标识符的形式是什么?”感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/140956.html

(0)

相关推荐

  • BZOJ从入门到入土

    技术BZOJ从入门到入土 BZOJ从入门到入土[Jsoi2010]连通数:有向图求每一个点到能到达的点的个数的和(包括自己到自己)SCC+bitset+dp
    #includebits/stdc++.h

    礼包 2021年11月29日
  • 2021 11 10 添加代码

    技术2021 11 10 添加代码 2021 11 10 添加代码1. 先写实体类
    两个
    package com.java.pojo;public class Dept { pri

    礼包 2021年11月10日
  • html中table行间距如何设置

    技术html中table行间距如何设置小编给大家分享一下html中table行间距如何设置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月12日
  • CentOS7

    技术CentOS7 CentOS7 - 快速查看系统日志
    1、CentOS7 - 快速查看系统日志
    https://baijiahao.baidu.com/sid=1615125260552254706

    礼包 2021年10月27日
  • 吃甘蔗的好处,听说吃甘蔗能洁牙

    技术吃甘蔗的好处,听说吃甘蔗能洁牙甘蔗味甘性寒吃甘蔗的好处,甘可滋补养血,寒可清热生津,故有滋养润燥之功效,那么甘蔗吃多了对牙齿好不好呢?下面就一起来看看吧
    1吃甘蔗对牙齿好吗
    吃甘蔗可以清洁牙齿,因此对牙齿有好处。甘蔗

    生活 2021年10月26日
  • 聚焦近义词,“盯着”的近义词是什么

    技术聚焦近义词,“盯着”的近义词是什么见、视、瞧、瞥、瞄、目、相、窥、探、扫、白、瞪、望、盼、眺、睇、睨。“看”的口语化俗语,普通话有“瞧”、“瞅”等,粤语则是“睇”。“睇”字在香港随处听到,用的频率比“看”多百倍!其实

    生活 2021年10月30日