作者 | fcamel (飛啊!乘月的小駱駝) | 看板 | P_fcamel |
標題 | [perl] if相關語法問題 |
時間 | Fri May 27 13:03:29 2005 |
拜compiler作業所賜,
我終於明白為什麼perl有些語法真是他OO地不直覺
在perl裡, 一個很大的困擾是, 沒有"else if",
它叫做"elsif"
還有selection statements一定要加 { },
即使裡面的statements只有一行也是
ex:
if (true) {
print "of course\n";
}
可以寫成
# 據Larry Wall所言, 這樣唸起來很順, 果然是語言學家
print "of course\n" if true;
但不能寫成
if (true)
print "of course\n";
就是因為if的grammer太彈性,
所以要多一些限制,
不然它不能區分
print "of course\n" if true;
和 # missing ';' at 1st statement
print "of course\n"
if true
;
compiler真是困難的東西啊,
雖然1962年Knuth指出有一堆人不約而同地發現這個領域的相同技巧,
許多人各自看出這些技巧的不同面,
但這些技巧真是太難學啦,
暑假有時間的話再來衝一衝吧
還有多行註解 /* */在 perl 裡不算有 (它有類似的替代品, 忘了是啥),
大概是 /* */ 的RE太難表示了吧,
C/C++偷吃步, 由preprocessor去掉了
其實不考慮code的漂亮,
不用RE硬幹處理 /* */ 應該沒問題才對,
而且以 perl RE來說, 應該有能耐處理它,
所以應該不是實作麻煩, 而是作者認為不需要吧
在沒有IDE的情況下, 沒有多行註解是很困擾的啊
|