2012-08-31 34 views

回答

5

指數在Perl在0開始,所以我建議你實現它的方式了。

1

在Perl中,數組通常(但不是必須)是基於零的,所以第二個例子應該是正確的。但是這當然取決於實施。

1

那麼,Perl顯然不是唯一的語言,其數組索引從0開始默認情況下,所以你的問題可能看起來相當微不足道。

另一方面,也許我得到它的原因。也許你的子程序寫有類似的東西...

sub my_print { 
    my ($elements_aref, $options_href) = @_; 
    if ($options_href->{bold}) { 
    make_them_bold($elements_aref->[ $options_href->{bold} ]); 
    } 
} 

...這顯然會讓任何大膽如果數組的第一個元素是被加粗。

不過我想這是去,一個修改的方式:改變條件爲

if (exists $options_href->{bold}) { ... } 

有了這個,你保留任何人的理智誰將會閱讀你的代碼(健全=假設你索引數組作爲不錯的傢伙),但會在你的選項檢查中取得成功。

+1

我在這裏沒有提到'$ [''',因爲,我還沒有找到更多或更少的實際例子,它帶來了一些積極的結果。 – raina77ow

6

的規範答案是這樣的:

xkcd 163

+1

只是不能抵制衝動upvote這一點。 ) – raina77ow