Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带下划线的Scala变量命名规则_Scala - Fatal编程技术网

带下划线的Scala变量命名规则

带下划线的Scala变量命名规则,scala,Scala,在Scala中命名方法和变量的规则是什么,特别是在使用\uuuu混合符号和字母时?例如,为什么\u a、a、\u a、a、\u a、\u是有效名称,但\u a+\u a或\u a不是有效名称?来源: 有三种方法可以形成标识符。首先,可以使用标识符 以一个字母开头,该字母后面可以是任意序列的 字母和数字。后面可能有下划线“\u1”字符 和另一个由字母和数字或 运算符字符。其次,标识符可以从运算符开始 字符后跟运算符字符的任意序列。 前两种形式称为普通标识符。最后,一个 标识符也可以由之间的任意字符

在Scala中命名方法和变量的规则是什么,特别是在使用
\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
。)