带下划线的Scala变量命名规则
在Scala中命名方法和变量的规则是什么,特别是在使用带下划线的Scala变量命名规则,scala,Scala,在Scala中命名方法和变量的规则是什么,特别是在使用\uuuu混合符号和字母时?例如,为什么\u a、a、\u a、a、\u a、\u是有效名称,但\u a+\u a或\u a不是有效名称?来源: 有三种方法可以形成标识符。首先,可以使用标识符 以一个字母开头,该字母后面可以是任意序列的 字母和数字。后面可能有下划线“\u1”字符 和另一个由字母和数字或 运算符字符。其次,标识符可以从运算符开始 字符后跟运算符字符的任意序列。 前两种形式称为普通标识符。最后,一个 标识符也可以由之间的任意字符
\uuuu
混合符号和字母时?例如,为什么\u a
、a
、\u a
、a
、\u a
、\u
是有效名称,但\u a+\u a
或\u a
不是有效名称?来源:
有三种方法可以形成标识符。首先,可以使用标识符
以一个字母开头,该字母后面可以是任意序列的
字母和数字。后面可能有下划线“\u1”字符
和另一个由字母和数字或
运算符字符。其次,标识符可以从运算符开始
字符后跟运算符字符的任意序列。
前两种形式称为普通标识符。最后,一个
标识符也可以由之间的任意字符串构成
反报价(主机系统可能会对
字符串对于标识符是合法的)。然后,标识符由以下部分组成:
所有字符,不包括反引号本身
您也可以在链接中看到语言的语法。来自:
有三种方法可以形成标识符。首先,可以使用标识符
以一个字母开头,该字母后面可以是任意序列的
字母和数字。后面可能有下划线“\u1”字符
和另一个由字母和数字或
运算符字符。其次,标识符可以从运算符开始
字符后跟运算符字符的任意序列。
前两种形式称为普通标识符。最后,一个
标识符也可以由之间的任意字符串构成
反报价(主机系统可能会对
字符串对于标识符是合法的)。然后,标识符由以下部分组成:
所有字符,不包括反引号本身
您还可以在链接中看到该语言的语法。它位于:
有三种方法可以形成标识符。首先,标识符可以以字母开头,字母后面可以是任意字母和数字序列。后面可能是下划线“\u1”字符和另一个由字母和数字或运算符字符组成的字符串
这并不完全清楚,但运算符字符后面不能跟任何其他字符。如图所示(标识符结尾的模式):
和和\u a+\u a
是非法的,因为它们在运算符字符后面有另一个字母或下划线。但是,如果你用反引号括起来,它们是合法的
scala> val `_a_+_` = 1
_a_+_: Int = 1
scala> val `_a_+_a` = 1
_a_+_a: Int = 1
它位于:
有三种方法可以形成标识符。首先,标识符可以以字母开头,字母后面可以是任意字母和数字序列。后面可能是下划线“\u1”字符和另一个由字母和数字或运算符字符组成的字符串
这并不完全清楚,但运算符字符后面不能跟任何其他字符。如图所示(标识符结尾的模式):
和和\u a+\u a
是非法的,因为它们在运算符字符后面有另一个字母或下划线。但是,如果你用反引号括起来,它们是合法的
scala> val `_a_+_` = 1
_a_+_: Int = 1
scala> val `_a_+_a` = 1
_a_+_a: Int = 1
正则表达式是错误的:u作为第一个是合法的character@Dici这是标识符其余部分的语法,而不是整个标识符的语法。正则表达式是错误的:u作为第一个标识符是合法的character@Dici这是标识符其余部分的语法,而不是整个标识符的语法,除了a.+
可能的部分例外情况外,不鼓励使用<代码>\uu
在Scala中有许多其他含义;在变量名中使用它通常会在视觉上造成混乱。我只在永远看不到变量的情况下使用它(例如,以隐式定义的名义,没有人应该直接调用);样式指南倾向于说完全不要使用它,除非可能将\u a
用作与可见变量a
匹配的私有变量的名称。(继续旁白:我觉得\u a
在视觉上也很混乱,所以我倾向于myA
)还要注意的是\u a
和所有其他的,除了a+
可能的部分例外,都是不鼓励的<代码>\uu
在Scala中有许多其他含义;在变量名中使用它通常会在视觉上造成混乱。我只在永远看不到变量的情况下使用它(例如,以隐式定义的名义,没有人应该直接调用);样式指南倾向于说完全不要使用它,除非可能将\u a
用作与可见变量a
匹配的私有变量的名称。(继续旁白:我觉得\u a
在视觉上也很混乱,所以我更喜欢myA
。)