【问题标题】:How can I print the elements of an array repeated twice each side-by-side?如何打印并排重复两次的数组元素?
【发布时间】:2012-10-11 22:08:03
【问题描述】:

拜托,我有以下代码行来编写文件的标题,但我想将数组@order 的每个元素并排打印两次。例如:$1 $1 $2 $2 $3 $3... 这样我的输出文件的每一对列都具有相同的名称。

print(join("\t", "Case_ID", "State", "Ind", "DoB", @order) . "\n");

我可以做一些简单的事情吗,或者我必须在打印之前遍历数组以重复元素?

谢谢!

【问题讨论】:

  • 根据定义,你必须循环。不过,对于如何循环,您确实有很多选择。
  • 你能用字符串乘法器吗? "$_" x 2

标签: perl


【解决方案1】:

无论如何你都必须循环,但你可以使用 map 来提高语法:

# map { $_, $_ } @order


print join("\t", "Case_ID", "State", "Ind", "DoB", map { $_, $_ }  @order))
       . "\n";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2021-05-03
    • 2012-06-09
    • 2013-09-12
    • 2020-12-26
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多