哪些是Processing中的变量命名规则?

时间:2014-09-12 01:01:20

标签: variables syntax processing

(John Williams的问题,来自Coursera论坛,我决定与社区分享,因为我无法在任何地方找到答案。)

以下代码运行时没有错误:

int _j = 1;
//int 2var = 2;
int var2 = 2;
int Kvar = 3;  // first letter can be uppercase
int spec$var = 4;
int com_pound_var = 5;  // compounding without camel case
int com$pound$two = 6; 
int $var = 199;
println(_j);
println(var2);
println(Kvar);
println(spec$var);
println(com_pound_var);
println(com$pound$two);
println($var);   //first character can be special

由于编译器接受_jKvar$var作为有效变量名,很明显变量名不需要以小写字母开头。

我无法在引用中的任何位置找到变量命名规则。

处理语言的变量命名规则是什么?

1 个答案:

答案 0 :(得分:3)

快速回答:可以从任何字母,下划线和美元符号开始,继续使用字母,数字,下划线和美元符号。详情如下。


我根本无法在参考文献或文档中找到任何内容。但是,在检查源代码时,我发现Processing不是它自己的语言,而是一个运行某些命令的框架。不同之处在于您实际上是在编写不同的语言,而Processing只是为您提供了一些基于脚手架的基础构建。

对于一些技术细节:Processing使用一些标志编译Java Build,旋转虚拟机(Java VM,与完整的虚拟机不同)并连接到它以获取输入和输出流(这就是为什么您可以在单独的窗口中与鼠标交互或获取自己程序的控制台输出。 (Source。)

您可能已经猜到的这种语言是Java。

话虽如此,回答这个问题的实际文档是Java Language Specification,为简化起见,它就像你得到答案一样接近。 (但如果你真的想知道,it's a mess。)

具体来说,Identifiers部分,我将在下面总结:

  • 可以从任何字母(A-Za-z),下划线(_),美元符号($)或任何unicode“字母”开头(重音,中文等Details。)
  • 可以继续上述任何一项,也可以继续使用数字(0-9)。也可以包含其他unicode“字母”(Details。)
  • 可以有无限长度
  • 不能是任何Java关键字(list here
  • 不能是falsetruenull
  • 如果他们的代码不同(一些Unicode字母看起来像字母但是不同的字母),它们看起来可能相同但仍然不同。

我希望这有帮助!调查很有趣。