我想在Perl中执行以下操作:
my @triples=([3,4,5],[5,12,13],[8,5,17],[7,24,25]};
然后我想随机选择四个三元组中的一个,然后将选择的元素分配给变量x,y和r。
例如,如果随机选择[3,4,5],则指定x = 3,y = 4,r = 5.
有什么建议吗?
答案 0 :(得分:4)
0到4之间的整数(4独占):
int(rand 4).
将此用作数组索引:
$triplets[int(rand 4)]
现在取消引用并分配给您的变量:
my ($x, $y, $r) = @{$triplets[int(rand 4)]}
正如@Jim Davids指出的那样,你可以删除int
并获得更通用的方法,你可以在标量上下文中使用@triplets
来获得数组的长度。
my ($x, $y, $r) = @{$triplets[rand @triplets]}