为什么打印2会出错,而打印“hello”不会呢?

好的,我已经使用Lua两天了,遇到了几个问题!请帮我理解一下!

第一:

>print "hello"
hello

>print ("hello")
hello

>print (2)
2

>print 2
出错了!!

另外我已经阅读了文档和参考手册,但对于像我这样的初学者来说,这种语言很难理解!我仍然从教程和简单的书籍中学习。

另外,你们能向我推荐一个轻量级的Windows C IDE,除了Visual Studio、DEVC++、Geany、C-LION、code::blocks、eclipse、qunicy以外吗?

点赞
用户2858170
用户2858170

从 Lua 参考手册上: 3.4.10 函数调用

在函数调用之前会先评估所有实参表达式。表达式 f{fields} 是调用 f({fields}) 的简化语法;即实参列表是一个新的单独表。表达式 f'string'(或 f"string" 或 f[[string]] )是调用 f('string') 的简化语法;即实参列表是一个新的单纯字符串。

所以 'print 2' 会给你一个错误,因为没有简化语法用于只有一个数字作为实参的函数调用。为什么?我不知道。也许是因为你不能为所有东西都创建简化语法 :)

接受它吧。

2017-05-31 19:09:20