我有专栏@columns:
my @columns =('column1', 'column2', 'column3');
Run Code Online (Sandbox Code Playgroud)
我有分隔符@separators:
my @separators = (',', '|');
Run Code Online (Sandbox Code Playgroud)
我想逐个插入列之间的分隔符:
column1,column2|column
Run Code Online (Sandbox Code Playgroud)
我的解决方案是:
(@columns »~» (|@separators,"")).join("")
Run Code Online (Sandbox Code Playgroud)
这里我有三列和两个分隔符,如何N-1在N列之间插入分隔符?
假设它@separators具有正确数量的值,您可以使用roundrobin.
roundrobin( @columns, @separators ).flat.join()
Run Code Online (Sandbox Code Playgroud)
所以这适用于任何长度的@columns或@separators:
首先,我们使用>>,>>hyper运算符来创建列表.
(@columns >>,>> @separators)
这使 :
[("column1", ","), ("column2", "|"), ("column3", ",")]
然后我们使用单据将其展平为单个列表.
(@columns >>,>> @separators).map( |* )
这使:
("column1", ",", "column2", "|", "column3", ",").Seq
然后我们得到除最后一个值之外的所有数组:
(@columns >>,>> @separators).map(|*).head(*-1)
用于:
("column1", ",", "column2", "|", "column3")
最后加入它没有任何东西:
(@columns >>,>> @separators).map(|*).head(*-1).join("")
最后结果 :
column1,column2|column3
更改列数或分隔符数不会产生任何影响.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |