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

标签 arrays perl printf

我想打印几个数组,输出元素的字段宽度为 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);

谢谢

最佳答案

这里有两种方法:

  • 使用循环
    printf "%3d ", $_  for @array;
    print "\n";
    
  • 使用 x运算符构建可变长度模板
    printf "%3d " x @array . "\n", @array;
    
  • 关于arrays - 如何在不描述每个元素的格式的情况下打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457175/

    相关文章:

    Java 数组移位引用

    c - "error: assignment to expression with array type error"当我分配一个结构字段 (C)

    c++ - 如何在 C++ 中的特定坐标处将字符串打印到控制台?

    perl - DBI 从表中选择所有数据与子集数据

    c - 如何在递归函数中实现运行变量

    .net - 持续登录 F#

    c++ - 我的将随机生成的数字创建到数组中的程序不断崩溃

    javascript - 使用 lodash 创建填充缺失值的新数组

    linux - 生成 Linux X11 事件?

    perl - 有关于迁移到 Moose 的非常好的网络资源吗?