私は最近、Perl 5(私は約How do I calculate relative time?を考えていました)のzip関数を "必要"にしました。つまり、2つのリストを1つのリストにまとめて要素をインターリーブする関数です。Perl 5に2つのリストをインターリーブするエレガントなジップがありますか?
(擬似)例:
@a=(1, 2, 3);
@b=('apple', 'orange', 'grape');
zip @a, @b; # (1, 'apple', 2, 'orange', 3, 'grape');
Haskell has zip in the Preludeとに建てPerl 6 has a zip operator、しかし、あなたは、Perl 5のエレガントな方法でそれをどのように行うのですか?
ハスケルのジップはあなたが探しているものではありません。インターリーブされた要素のリストではなく、対応するペアのリストを返します。 –
あなたは正しいです。 Haskellリストには、単一の型の要素が含まれています。ここで私がハスケルに言及したとき、私は考えていませんでした。 – asjo
多くの場合、彼らはジッパーが必要と思うとき、それは2つのリストからハッシュを作成することです。その場合、ハッシュスライスを使用する方がよいでしょう。 '@hash {@keys} = @ values'です。それがここに当てはまらないなら、騒がしいのは残念です。 –