【发布时间】:2017-05-16 15:49:33
【问题描述】:
在一些源代码中,我看到了“Underscore.lua”模块的用法。
_ = require 'underscore'
描述如下:
Underscore.lua是一个 Lua 库,提供了一组实用程序 处理迭代器、数组、表和函数的函数。 它的 api 和文档深受Underscore.js的启发。 在 Lua 中使用下划线字符来丢弃变量是惯用的,因此您可以简单地将其分配给另一个变量名...
文档中提供的示例让我有点困惑。比如下面这个操作的目的是什么?
_ = require 'underscore'
_.each({1,2,3}, print)
1 1 {
1 : 1
2 : 2
3 : 3
}
2 2 {
1 : 1
2 : 2
3 : 3
}
3 3 {
1 : 1
2 : 2
3 : 3
}
很明显,这个模块为迭代器、数组等提供了一些功能。但是当你可以使用比下划线更明显的任何其他字符时,为什么还要使用_?特别是当许多编辑没有突出显示它并且阅读起来非常麻烦时。我不太明白有什么大惊小怪的。
【问题讨论】:
-
是的,Lua 允许 Morse 风格的编程:
_.__:_(),因为下划线字符在 Lua 标识符中非常有效。
标签: lua