level 2
新人初学lua ,在啃 programming in lua,看到迭代器一章,好不容易弄清了for循环的流程,后面又冒出个这个:
local count = 0
for w in allwords() do
if w == "hello" then count = count + 1 end
end
其中的allwords() 完全不符合前面说得for循环用迭代器的格式,没有参数也没有返回值,它是怎么能让for正常运行的呢?
跪谢各位大神
2014年08月31日 02点08分
1
level 2
不对!之前没有真正试过运行这段代码,刚试了试好像的确不能正常执行……是这本书出错了吗?
2014年08月31日 02点08分
2
level 5
函数在前面,这书逻辑很乱我感觉。同新人学习中,昨天到60页
2014年09月03日 01点09分
6
回复
@矮番薯_爱翻书 :我不是说书烂,只是说逻辑乱,很多语句第一次出现的地方不做解释,闷头想半天想不出结果来,继续看到后面才发现解释来了。还有就是很多示例没有输出结果,光有代码,好歹在代码后面写个结果让我知道输出对不对啦。
2014年09月06日 00点09分
回复
@sunuscn :我之前学过c,看的是c primer plus,所以仅仅是拿c primer plus与lua程序设计做对比,前者讲得很细很流畅,没接触过编程的也能一路看下去,卡顿时候很少。
2014年09月07日 01点09分
level 1
for 在另一种模式. 类似key,value 不需要指定开始的idx, 会自一个个的把value取出来赋值给w , 这书前面有讲. 回过去再看看就知道了.
2014年09月12日 06点09分
9
回复
@好心害虫 :这么久了,你的回答是第一个解决我疑问的!给你点个赞!你棒棒哒!
2014年09月12日 11点09分
level 1
只管按他说的用就可以了啊,allwords肯定是一个函数或者集合,for迭代来获取里面的元素啊
2014年10月08日 02点10分
10