我想打印几个数组,输出元素的字段宽度为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);谢谢
发布于 2013-08-27 05:00:59
以下是两种方法:
x运算符生成可变长度模板
打印"%3d“x@数组。“n”,@array;发布于 2013-08-27 05:06:04
试试这个调料:
print( map( {sprintf("%3d\n", $_)} @array));https://stackoverflow.com/questions/18457175
复制相似问题