- 610 名前:597 mailto:sage [2008/05/28(水) 21:17:34 ID:???]
- >>599
終わった話題なんだけど、ちょっと気になった。 めんどくさかったら、スルーして。 提示してくれてるルーチンだと、 引数1 @array1 = (); 引数2 @array2 = ( 1,2 ); のとき、返り値が空になっちゃうよね。 配列1(引数1) > 配列2(引数2) という優先順位で、 配列3(返り値)を混ぜ合わせるというのが目的の処理だと思うんだけど、 配列1と配列2で要素数の大きい配列を、要素数だけループさせる処理にする場合、 キレイにまとめる方法ってないかなぁ? if( ( $#array1 <=> $#array2 ) == -1 ) { EXPR for( 0..$#array2 ); } else { EXPR for( 0..$#array1 ); } みたいな、冗長な方法しか俺には思い浮かばなかった。 だから、「配列の重複値をハッシュを利用してマージ」の応用みたいなことを>>597でやってみたわけだ。 なんか美しい方法あればいいんだけどなぁ。
|

|