Re: 有关提案 foldcolumn 的一些疑问




On Sat, 14 Jun 2014, Chunyang Xu wrote:

这个网页在我这边无法访问了,我用在线工具检测了一下[0],发现不止是我这边无
法访问:

等一等吧, sdf.org 似乎近十来年人手不够。我们这些老头子们的年代已经过去了,
80年代的时候 sdf.org 是一个很不错的俱乐部,提供各种学生需要的服务,比如编译
环境和各种unix工具,还有gopher:// 主页空间(后来http协议流行起来,他们又又
提供了 http://weiwu.sdf.org主页)。唉,我纯真的学生年代为自己选的主页空间
呀。现在学生们安装上Ubuntu就什么都有了,这里也渐渐没人维护了,有时候就会坏几
天,但是总是会活过来的。

请再说明是否有疑问!

对提案基本没疑问了,关于项目本身有些问题:

1. 是要求用 C 实现的么?有没有特别的原因呢,或许 AWK 或者 perl 更适合处理 text ,用来写 CLI 程序也很自然。

有两个原因。一是因为做不到;二是为了集成其它项目

我不是已经用awk写了一个实现吗(详细需求里),那只是一个例子,不能直接把我
的代码提交给我的,因为没有liblinebreak,awk不能正确断行,用awk调用一个能
断行的linblinbreak里的命令行工具也不行的,因为需要预先知道如果行宽为40,
断行会断为几行,然后才可以决定是否真的把行宽定为40(你的目标是输出行数最
少)。

我印象中perl也没有能正确断行的工具(已经几年没有写过perl不知道目前如何)
经常把句号断到行首。断行不是一件容易的事,参考liblinebreak的源码。

集成,详细需求里有说,这个项目的合适上家有考虑heirloom/gnu binutil之类命令
行工具集,如果没有上家,这样的小工具单独立项,很快就会失修被放弃的。这些
上家是c语言的。集成还有满足其它项目需求的意思,命令行工具输出表格也是常见需
求,column(1)的源码就是被ls命令所使用的(在BSD里是如此),又比如easy tag这样
的工具输出表格时调用它,你也不能比它更高层(指使用语言)。(如果你感觉
EasyTag不需要输出长文本表格,看看这个曲名(贝多芬作品):

Piano Sonata No.14 in C-sharp minor "Quasi una fantasia" - I Adagio Sostenuto

通常的命令行文本表格输出工具,比如dpkg,用的办法是剪掉,而不换行。但是下面三
个mp3文件剪了就会变为一样的输出了:

Piano Sonata No.14 in C-sharp minor "Quasi una fantasia" - I Adagio Sostenuto
Piano Sonata No.14 in C-sharp minor "Quasi una fantasia" - II Allegretto
Piano Sonata No.14 in C-sharp minor "Quasi una fantasia" - III Presto Agitato


2. 你觉得工作量是否偏小?(用两个月写一个 CLI 小工具,确实叫人提不起劲来。

也许会。
你要挑战不一定做我的项目呀。EasyTag需求也是一个CLI工具,两个月却不一定能做。
你可以入David King那个项目。这个提案审过了仍有两天时间可能被取下来的。
主办方会决定是否够工作量。另外从上面的提问我发现你没有考虑代码重用,所以我应
该显式的把这项需求写入。


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]