Adrian Perez

lua-users home
wiki

Lua 用户和程序员。热爱“小而美”的理念。

当前工作

非常旧的工作

        i = 1;
        for line in io.readlines() do
           print(i .. ": ", line);
           i = i+1;
        end

你可以在 C 中用一行代码做到这一点:o)
for (int i=1, b[100];;i++) printf("%d: %s\n",i,gets((char*)b));
或者用 Lua 一行代码:--NDT
while 1 do i=(i or 0)+1 print(""..i..": "..io.read()) end
  or
for i,ln in function(s,i) return i+1,""..i..": "..io.read() end,nil,1 do print(ln) end

是的,你说得对;),但如果使用该程序处理的文本文件包含超过缓冲区大小的行,C 代码就会崩溃,而且你需要声明 main() 函数并包含 stdio.h... 也许我总是过于担心代码的正确性,也许这个脚本并不是一个好的例子:P -- Adrian

嗯.. 我认为上面给出的任何一个例子都不能算作一行代码。这样的话,你可以把整个文件压缩成一行.. 不要误会我的意思,我仍然觉得它非常简洁,而且我非常喜欢 Lua:o)

当然,如果你的目标是简洁,Perl 每次都会获胜:-- ET
while(<>) {print(++$i.": ".$_)}

天哪!我受不了 Perl,我见过的几乎所有 Perl 代码都像一堆难以理解的混合风格代码。但我承认你的例子是无与伦比的;) -- AdrianPerez

抱歉打扰了,但对于这个问题,awk 几乎无敌(从 stdin 读取)
awk '{print NR, $0}' -
-- JulioFernandez

想法

想法,想法:我曾经的想法,但它们没有实现,或者我没有实现,或者... 由于我想专注于 Lixoo,我没有时间做这些。

我尝试过这个:[moonmake](文档:[moonmake.txt])-- xlq

最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2016 年 1 月 25 日上午 9:31 GMT (差异)