我只是有一個普遍的問題差異「和」在Lua
有沒有用在Lua單引號和雙引號任何區別
例:?
require('test.lua')
require("test.lua")
當我編程在PAWN中,一種類似於C的語言,單引號可以用於字符,但不是文本字符串,您必須使用雙引號。
如果沒有差異,建議使用哪一個?
這個問題最有可能已經回答了,但是我沒有找到已經回答的話題。
謝謝。
我只是有一個普遍的問題差異「和」在Lua
有沒有用在Lua單引號和雙引號任何區別
例:?
require('test.lua')
require("test.lua")
當我編程在PAWN中,一種類似於C的語言,單引號可以用於字符,但不是文本字符串,您必須使用雙引號。
如果沒有差異,建議使用哪一個?
這個問題最有可能已經回答了,但是我沒有找到已經回答的話題。
謝謝。
沒有。沒有什麼區別,除了你可以把另一個放在你正在使用的那個之內。
-- No difference between these
myStr = "Hi!!"
myStr = 'Hi!!'
myStr = [[Hi!!]] -- The 'weird' way to make a string literal IMO...
-- Double quotes enclosed in single quotes
myStr = 'My friend said: "Hi!!"'
-- Single quotes enclosed in double quotes
myStr = "My friend said: 'Hi!!'"
-- Single and double quotes enclosed in double brackets
myStr = [[My friend said: "What's up?"]]
參見:Strings in Lua瞭解更多信息。
好的,再次感謝您的回答,非常感謝。不過,我仍然想知道哪一個更常見:)我猜測雙引號是因爲各種語言的字符串都使用雙引號。 – Bicentric
是的,在C,C++,C#,Java和更多語言中,雙引號用於字符串文字,單引號用於字符文字。 – AtinSkrita
@Bicentric你對它的想法太多了。只要使用一個適合你的想法 - 沒有比其他人更喜歡的。我傾向於使用''',因爲我輸入時不需要額外的換檔鍵。 – greatwolf
通過在互聯網上搜索「lua字符串」,您可以輕鬆找到關於Lua字符串的足夠信息。
這裏是一個結果:http://www.lua.org/pil/2.4.html
你可以自由選擇自己的報價風格,因爲它沒有什麼區別,但你應該是一致的,這樣你的代碼是更好的閱讀。
作爲一個偏好問題,我通常會使用雙引號,因爲Lua使用C風格的轉義碼。許多腳本語言(例如Perl)和命令shell do在單引號和雙引號字符串之間作了區分,並且與這些準標準實踐略微一致會很好。
我的意思是,當我看到一個單引號的字符串時,我必須真正思考我在讀什麼語言,以及是否在該字符串中替換了轉義碼。使用雙引號字符串我不必考慮它,因爲作爲一般規則,在字符串中替換C風格轉義碼的任何語言都會在雙引號字符串中執行此操作。
Lua中兩者沒有區別,所以你可以使用你喜歡的任何一個。我傾向於語義來區分它們:
"double quotes"
對用戶可見的字符串和文本,基本上無論在輸出或文件'single quotes'
對於期權類的字符串傳遞到方法,並出現一般在代碼中,如io.stdout:setvbuf('no')
沒有區別。另外,如果你決定使用''''或'''作爲數組變量,你可以使用點符號。 –
啊好吧謝謝你的快速反應,哪一個更受歡迎? – Bicentric
只需使用單引號當你在字符串中加雙引號時,在字符串中加雙引號時用單引號,也可以用反斜線字符在兩者中進行轉義,所以選擇哪一個並不重要。優先考慮,因爲它確實沒有關係。 –