是否有任何編程語言允許名稱包含空格? (按名稱,我打算變量,方法,字段等)是否有任何語言的名稱可以包含空格字符?
回答
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. vxworks任務名稱是否可以包含空格或特殊字符?
- 2. HTML輸入名稱是否可以包含空格,逗號等?
- 3. base64編碼的字符串是否可以包含空格?
- 4. JMS主題字符串中是否可以包含空格?
- 5. PARAM-VALUE是否可以包含空格?
- 6. 如何讀取C語言中包含空格的字符串
- 7. jQuery事件名稱空間是否可以包含破折號?
- 8. 命名空間語句是否可以「包含」在PHP中?
- 9. 檢查是否字符串包含在語言(序言)
- 10. makefile是否可以包含UTF8字符?
- 11. 是否可以包含特殊字符
- 12. CakePHP模型名稱是否可以包含數字?
- 13. 是否包含連字符的字體系列名稱與空格而不是連字符相同?
- 14. rel =屬性是否可以包含任何字符串並且仍然有效?
- 15. LL(0)語言是否可以包含多個單詞?
- 16. java - 檢查一個字符串是否包含空格以外的任何字符
- 17. 無法連接到其名稱包含空格字符
- 18. Python IMAP4選擇郵箱名稱包含空格字符,錯誤
- 19. 任何語言是否嚴格「以語句爲導向」?
- 20. 是否可以通過包含名稱的列來映射表?
- 21. Python包名稱(在pypi上)是否可以包含diaeresis /「變音符號」?
- 22. 如何檢查字符串是否包含空格
- 23. 檢查字符串是否包含空格和多個@符號
- 24. 'anyURI'的xsd類型是否可以包含空格?
- 25. 什麼是可可視覺格式語言的視圖名稱?
- 26. 項目名稱是否可以包含一個點?
- 27. Firebase條目是否可以在名稱中包含逗號?
- 28. 複製文件:名稱包含空格
- 29. 字符串是否包含價格?
- 30. 是否有任何語言可以獲取局部變量或傳遞參數的名稱?
只是好奇...爲什麼你要嗎? – 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