使用「粗體」選項,我可以選擇一個應該以粗體打印的元素。 我應該爲第一個元素(一)使用'0'還是'1'?選項中的值通常是基於零的索引還是基於索引的一個?
my_print([ 'one', 'two', 'three' ], { bold => 1 });
或
my_print([ 'one', 'two', 'three' ], { bold => 0 });
使用「粗體」選項,我可以選擇一個應該以粗體打印的元素。 我應該爲第一個元素(一)使用'0'還是'1'?選項中的值通常是基於零的索引還是基於索引的一個?
my_print([ 'one', 'two', 'three' ], { bold => 1 });
或
my_print([ 'one', 'two', 'three' ], { bold => 0 });
指數在Perl在0
開始,所以我建議你實現它的方式了。
在Perl中,數組通常(但不是必須)是基於零的,所以第二個例子應該是正確的。但是這當然取決於實施。
那麼,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}) { ... }
有了這個,你保留任何人的理智誰將會閱讀你的代碼(健全=假設你索引數組作爲不錯的傢伙),但會在你的選項檢查中取得成功。
我在這裏沒有提到'$ [''',因爲,我還沒有找到更多或更少的實際例子,它帶來了一些積極的結果。 – raina77ow
爲什麼界面只允許一個元素被加粗? – ikegami
這只是一個發明的例子。 –