使用'bold'选项,我可以选择一个应该以粗体显示的元素。 我应该对第一个元素(一个)使用'0'或'1'吗?
my_print( [ 'one', 'two', 'three' ], { bold => 1 } );
或
my_print( [ 'one', 'two', 'three' ], { bold => 0 } );
答案 0 :(得分:6)
规范的答案是:
答案 1 :(得分:5)
Perl中的索引从0
开始,所以我建议你也这样实现。
答案 2 :(得分:1)
在Perl数组中通常(但不一定)从零开始,所以第二个例子应该是正确的。但当然这取决于实施。
答案 3 :(得分: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} ) { ... }
通过这种方式,您可以保留任何阅读代码的人的理智(sane =假设您将数组编入索引为好人),但是您的选项检查会成功。