本週主要都在撰寫Perl,完成第一個學長指派的issue之後,大概就差不多要跟上Perl列車(學長說差不多可以上車,大概是這個意思)。不過還有很多檔案是沒有接觸過或是不知道她內容含義在做什麼,還是得要多累積經驗。
總之,這邊大概就是紀錄一下,一些學到的小東東。
@arr = flag_err(\@tmp); #用\@tmp傳入tmp的位址,而非使用@tmp傳入整個陣列
sub flag_err{
my ($r)= @_;
foreach my $tmp_a (@$r) {...}
}
以上大概就是在 call subroutine 前不用加&符號,&flag_err() 這種用法是比較古老的用法,現在不需要這樣使用了。然後,利用 call by reference 的方式傳址來替代傳入整個陣列,比較不會讓記憶體爆掉。以前大概就是能動就算了,管他這麼多。
在網路上看到,大概學習了20%的 perl 其實就足以應付 80%的狀況,不過在目前語法尚未熟練的情況下,在寫code的時候還要邊寫邊查。
$arraySize = $#array + 1;
array size 可以用上述方法取得,這也是比較需要查才會知道的用法。而且在撰寫程式的時候,還是要考慮未來的修改彈性,避免在未來被現在的自己寫的code所絆倒,畢竟這也已經不是學期作業交了之後就放給他去,而是未來還需要不斷維護的檔案,必須從長計議才行。
接下來為社區事項閒聊。
本週五社區在開管委會之後,總幹事在群組內公告決議後的一些事項,像是取消車庫遙控器而全面換用etag等做法,以避免有某些住戶買了一堆車庫遙控器,導致親朋好友隨便就可以進來停車。
結果有某位住戶就開始哀哀叫,也就是買一堆遙控器的住戶,開始在社區群組內抗議,講了一大堆,扯到民法>管委會之類的。我是覺得有點好笑,當初在決議的時候其實各個委員都不具備法律背景,根本不知道這項決議是否逾越管委會所能夠管轄的範疇,就我所查到的判例是不能這樣規定拉,但我畢竟不是法律專業,也就不多插嘴。但好歹這種有爭議的項目找個法律專業人士來研議不是比較妥當?我在開會的時候就覺得傻眼。
而這個住戶也是很吵,假日還不停在群組內找人起爭議,提出一大堆意見反對,也不講些實際的解決辦法或是建議,這個社會上最不乏這種人了,在群組內罵這些決議的人,又不自願來當委員參與決議,講半天也沒有一些實質上的幫助,看了感覺真可憐。
Btw, 我將字體改成接近微軟正黑的字體,看起來中英文字體一致比較融洽而且應該會舒服一點^^