perl语言里面有一个通则,学perl的人都知道,那就是”只要不会因为移除括号而改变原意,括号就可加可不加。“
比如,chomp($line),也可以写成chomp $line。 比如push(@array,1..10)可以写成push @array,1..10。
这样的机制,我感觉没什么意思。看似好像给了用户很大的自由,但其实是为程序的阅读和编写增加了混乱。哎,不知道larry wall怎么就这么追求自由,自由得有些混乱。
有些自由的确是从用户的角度出发的,那样的自由才是好的。比如在shell中,我们将标准输出和标准错误输出一并重定向,我们使用>&和&>都是正确的。我觉得这就减轻的用户的记忆负担,是为用户着想。
总之,我感觉,有些自由是肤浅的自由,有些自由是体贴的自由。
我想要自由,但不想要混乱。
over~~
通过RSS订阅
June 6th, 2009 at 12:18 am
比方说,还是习惯在 js 中每行打个分号……
回复
rocrocket Reply:
June 6th, 2009 at 11:05 am
呵呵 是滴
回复
June 10th, 2009 at 10:32 am
感觉到,这就是perl吧。代码敲的越快越好,可读不可读倒是不重要。用perl的基本上都是while(){chomp;split //; …}这一串命令下来,执行完就扔掉吧。
确实perl非常不严谨,超过50行基本上也没什么优雅的结构可言了。毕竟larry设计的原则就是practical不是beautiful。
想优美请用python。
回复
rocrocket Reply:
June 11th, 2009 at 1:39 pm
恩 有道理
风格不同 当然体验就不同。
我也学学python
回复
June 10th, 2010 at 9:43 pm
这是为了和shell的习惯兼容,在perl中,这些又是函数,自然支持使用括号了。其实为所谓好坏,只要保持一致就可以了。有一本叫做书perl最佳实践,可以参考一下
回复