理解Scala语法规范中的换行符?
我对这件事感到困惑 复制自Scala规范:理解Scala语法规范中的换行符?,scala,syntax,Scala,Syntax,我对这件事感到困惑 复制自Scala规范: semi ::= ‘;’ | nl {nl} Scala是一种面向行的语言,语句可以用分号或换行符终止。如果满足以下三个条件,Scala源文本中的换行符将被视为特殊标记“nl”: 紧靠换行符前面的标记可以终止语句 紧跟在换行符后面的标记可以开始一条语句 标记出现在启用换行符的区域中 可以终止语句的标记有:文字、标识符、以下分隔符和保留字: this null true false return type &l
semi ::= ‘;’ | nl {nl}
Scala是一种面向行的语言,语句可以用分号或换行符终止。如果满足以下三个条件,Scala源文本中的换行符将被视为特殊标记“nl”:
- 紧靠换行符前面的标记可以终止语句
- 紧跟在换行符后面的标记可以开始一条语句
- 标记出现在启用换行符的区域中
this null true false return type <xml-start>
_ ) ] }
catch else extends finally forSome match
with yield , . ; : = => <- <: <%
>: # [ ) ] }
catch
、else
、extends
等。在bs令牌之后是否禁用换行令牌\n
是令牌,第三个和第四个\n
不是令牌:
if (true) // \n
1 // \n
else // \n
2 // \n
上一个问题
if (true) // \n
1 // \n
else // \n
2 // \n