1
A
回答
7
的print
函數返回nil
:
> print("Hi") == nil
Hi
true
表達true and nil
回報nil
(見Logical operators in Lua):
> true and nil
nil
這就是爲什麼你的原始表達式返回nil
。
6
這是Lua解釋的新功能在5.3版的副作用。
在以前的版本中,這段代碼是無效的:
Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> true and print("Hi")
stdin:1: unexpected symbol near 'true'
同理:
Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> 1+1
stdin:1: unexpected symbol near '1'
的解釋只能接受聲明,沒有表情。你可以用return
或快捷=
前綴的表達式,但:
Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> =1+1
2
> =true and print("Hi")
Hi
nil
Lua中5.3中的新功能已被引入到更簡單地使用這個解釋類似於計算器:如果輸入是無效的,那麼解釋試圖以return
作爲前綴。這就是你得到這個結果的原因。
相關問題
- 1. iPhone SDK:請解釋爲什麼「nil ==」與「== nil」不同
- 2. Regular Lua解釋器與LuaJIT解釋器?
- 3. 有人可以解釋爲什麼這不輸出什麼?
- 4. 解釋爲什麼輸出10會出現在c程序中
- 5. Eclipse的Lua解釋器
- 6. 爲什麼clojure在輸出結束時會出現「nil」
- 7. Lua中print(0x1e1)的輸出是什麼?爲什麼?
- 8. 爲什麼self.splitViewController == nil?
- 9. 請解釋爲什麼以下程序的輸出是1?
- 10. 解釋輸出
- 11. 輸出解釋
- 12. 爲什麼解釋器模式會吸?
- 13. 這段代碼的輸出是什麼,爲什麼?請解釋MEE
- 14. 下面的代碼會輸出什麼,爲什麼?誰能解釋一下?
- 15. 請解釋爲什麼輸出不會改變什麼是i的值
- 16. 爲什麼RUBY DNS查詢輸出附加'nil'?
- 17. 爲什麼myInstance = nil而不是self.myInstance = nil?
- 18. 爲什麼(=(vector nil)(vec nil))返回false?
- 19. 爲什麼Nil :: Nil會返回List(List())?
- 20. 解釋< - (chan string)(nil)
- 21. Cachegrind輸出解釋
- 22. 解釋strace輸出
- 23. 解釋php輸出
- 24. 請解釋輸出
- 25. 解釋gcov輸出,
- 26. 解釋PGI_ACC_TIME輸出
- 27. 解釋vmstat輸出
- 28. 輸出的解釋
- 29. Valgrind輸出解釋
- 30. HTML5輸出解釋
由於打印不返回任何東西? –