是否有任何编程语言允许名称包含空格? (按名称,我打算变量,方法,字段等)是否有任何语言的名称可以包含空格字符?
回答
Scala确实允许在标识符名称中使用空格字符(但为了可能,您需要用一对反引号包围标识符)。
例(在斯卡拉REPL执行):
Welcome to Scala version 2.8.0.final (Java HotSpot(TM) Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val `lol! this works! :-D` = 4
lol! this works! :-D: Int = 4
scala> val `omg!!!` = 4
omg!!!: Int = 4
scala> `omg!!!` + `lol! this works! :-D`
res0: Int = 8
在Ruby中,您可以使用名称为:"this has a space"
的符号,但它被括在双引号中,所以我不确定您是否计算了该值。
如果其他语言允许空白符号名称中的有效字符,那么您将不得不使用其他字符来分隔它们。
变量名称中的空格问题在于它受解释的限制,因为空格通常表示“ok,当前令牌结束,从另一个开始。”此规则的例外必须具有某些特殊指示符,例如字符串中的引号(“This is a test”)。
PHP可以:http://blog.riff.org/2008_05_11_spaces_php_variable_names
的Perl也:
${'some var'} = 42; print ${'some var'}, "\n"; ${'my method'} = sub { print "method called\n"; }; &${'my method'};
我们PARLANSE并行编程语言就是这样的。实际上,它允许标识符中的任何字符,尽管其中的许多字符(包括空格)必须被转义(以〜开头)以包含在名称中。这里有一个例子:
~'Buffer~ Marker~'
这是用来让PARLANSE轻松地引用任意符号从其他语言(特别是,从任意的引用文件,我们无法控制使用的标点符号采取EBNFs)。
我们不使用这个特性很多,但是当它需要的时候,这意味着我们可以保持对来自其他文档的令牌的真实性。
你也许能够找到深奥的语言没有这个网站上单独与空格表达元素:http://99-bottles-of-beer.net
例如...... whitespace:d
一些SQL方言允许数据库,表,以及在他们的名字中有空格的字段。
例如,在SQL Server中,可以通过将表名称放入[square brackets]
或"double quotes"
中的(取决于连接选项)来引用其名称中具有空格的表。
在SQL中,可以在字段名称等中包含空格和其他非标识符字符。你只需要引用它们,如[field name]
或"field name"
。
我只见过Microsoft产品中的方括号约定。有没有其他人使用它,或者他们大多使用我经常看到的双引号? – FrustratedWithFormsDesigner 2010-11-16 15:45:58
引号是ANSI标准的SQL,但我相信括号是从Sybase继承的。这就是为什么SQL Server使用它们但Access不能。 – Gabe 2010-11-16 15:56:38
Common Lisp中可以用变量做,如果你周围的变量名管道(|):
CL-USER> (setf |hello world| 42)
42
CL-USER> |hello world|
42
值得注意的是, “管道”变量名也是区分大小写的(通常变量名不在CL中)。
CL-USER> |Hello World|
The variable |Hello World| is unbound.
[Condition of type UNBOUND-VARIABLE]
CL-USER> (setf hello-world 99)
99
CL-USER> hello-world
99
CL-USER> HeLlO-WoRlD
99
不应该有建立这样的语言支持空格在标识符,只要有足够的分隔标记该说解析器很多问题,其中标识符结束(如运营商,大括号,逗号和臭名昭著的分号)。它并没有提高源代码的可读性。
最近的一个创新和实验的Web脚本(子)类型的JavaScript:http://pogoscript.org/
wind speed = 25
average temperature = 32
成为
windSpeed = 25
averageTemperature = 32
屏幕后面。同时在返回变量的定位灵活的规则,所以你可以这样做:
y = compute some value from (z) and return it
md5 hash (read all text from file "sample.txt")
变为:
var y;
y = computeSomeValueFromAndReturnIt(z);
md5Hash(readAllTextFromFile("sample.txt"));
- 1. base64编码的字符串是否可以包含空格?
- 2. PARAM-VALUE是否可以包含空格?
- 3. 如何读取C语言中包含空格的字符串
- 4. jQuery事件名称空间是否可以包含破折号?
- 5. 命名空间语句是否可以“包含”在PHP中?
- 6. 检查是否字符串包含在语言(序言)
- 7. CakePHP模型名称是否可以包含数字?
- 8. 是否包含连字符的字体系列名称与空格而不是连字符相同?
- 9. rel =属性是否可以包含任何字符串并且仍然有效?
- 10. 任何语言是否严格“以语句为导向”?
- 11. 检查字符串是否包含空格和多个@符号
- 12. 项目名称是否可以包含一个点?
- 13. 字符串是否包含价格?
- 14. 是否有任何语言可以获取局部变量或传递参数的名称?
- 15. 如何使用名称中包含空格的表格中的“选择”语句?
- 16. 如何检查一个字符串是否包含空格/制表符/新行(任何空白)?
- 17. 如何读取名称中包含空格和特殊字符的文件?
- 18. 检查字符串是否包含任何非数字字符 - 没有库 - Java
- 19. 是否有可能在jQuery中包含CSS类名称.animate()
- 20. 是否有可能在名称中包含一个空格的DataColumn,我该如何做?
- 21. 检查字符串是否包含多个空格
- 22. 是否有一个EventHandler可以检查ListBox是否包含任何项目?
- 23. OpenId标识符是否可以包含unicode字符?
- 24. xsd中的元素是否可以具有任意名称?
- 25. C语言是否有任何并发包?
- 26. 是否有可用于NSSpeechSynthesizer Cocoa类的任何语言绑定?
- 27. 如何选择新的XML语言的名称空间名称?
- 28. JS:测试字符串是否包含任何unicode首字母
- 29. 列出名称中包含空格的所有目录
- 30. R - 以数字开头且包含空格的read.table和write.table中的列名称
只是好奇...为什么你要吗? – 2010-11-16 15:39:26
如果您有兴趣在源代码中添加更多空格,请查看以下内容:http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29 – joni 2010-11-16 15:42:21
我将提及空格,但它看起来不像像它有任何名字。 Prolog是另一个允许像'this那样的引用字符串以与标识符相同的方式使用的人,正如人们已经注意到的Ruby,SQL等等。 – aschepler 2010-11-16 15:46:14