为什么打印2会导致错误,而打印“你好”不会?

时间:2017-05-31 11:29:53

标签: function printing lua

好的我到目前为止已经使用Lua 2天了,我遇到了几个问题!请帮助我理解!

第一

>print "hello" 
hello   

>print ("hello")  
hello  

>print (2)  
2  

>print 2 
Error!!

此外,我已阅读文档和参考手册,但对于像我这样的初学者,很难理解语言!我还在学习教程和一本简单的书。

除了Visual Studio,DEVC ++,Geany,C-LION,code :: blocks,eclipse,qunicy,你们还可以推荐一款适用于Windows的轻量级C IDE吗?

1 个答案:

答案 0 :(得分:2)

来自Lua参考手册: 3.4.10 Function Calls

  

在调用之前评估所有参数表达式。一个电话   form f {fields}是f({fields})的语法糖;那就是   参数列表是一个新表。拨打f'字符串' (要么   F"串"或者f [[string]])是f的语法糖(' string');那是,   参数列表是单个文字字符串。

所以print 2会给你一个错误,因为函数调用没有语法糖,只有一个数字作为参数。为什么?我不知道。也许是因为你不能拥有所有的语法糖:)

接受它。