如何在不描述每个元素的格式的情况下打印数组?

2024-06-23

我想打印几个数组,输出的元素的字段宽度为 3 ,我想我可以使用printf,但如果我使用printf然后我需要编写数组所有元素的格式,但数组很大。

例如

@array = (1,10,100,30);
printf ("%3d %3d %3d %3d\n",$array[0],$array[1],$array[2],$array[3]);

我知道我可以使用循环来打印一个元素,直到所有数组都循环通过,但我认为这不是一个好主意。

有没有什么方法可以让我只描述一次元素的格式,然后自动应用于整个数组?

像这样的东西?

printf ("%3d\n",@array);

thanks


这里有两种方法:

  1. 使用循环

    printf "%3d ", $_  for @array;
    print "\n";
    
  2. Use the x运算符构建可变长度模板

    printf "%3d " x @array . "\n", @array;
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不描述每个元素的格式的情况下打印数组? 的相关文章