- 締切済み
joinで前に文字を結合させる方法
$a = join($aaa,@a); 文字を結合する時に、$aaaのあとに結合するのではなく、$aaaの前に結合させることはできるのでしょうか? もし、できないとしたら前に結合する方法のアドバイスを下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
ひょっとしてひょっとして、 qw(a b c d e f) なリストを連結して f:e:d:c:b:a のような結果を求めてたりします? もしそうなら > $a = join($aaa,@a); $new = join $aaa, reverse(@a); とか。
- steel_gray
- ベストアンサー率66% (1052/1578)
>$a = 'a'.'b';を >$a → 'ba' ますますわかりません。 #2さんのおっしゃるとおり $a = 'b'.'a'; でしかないと思います。 join がどういう関数なのかはもう一度Perlの関数リファレンス(*1)を確認してもうらうとして、 (文字列結合の例を出したせいか?)ややこしくなってます。 最初に云っていた join 文字列,配列 次の補足にあった 文字列 . 文字列 は、似て非なるものです in(結合したいデータ) と out(望む結果)をもう一度補足してください。 *1 http://www.rfs.jp/sb/perl/05/01.html
- Tacosan
- ベストアンサー率23% (3656/15482)
う~ん, やっぱりどういう操作を求めてるのかよくわかんない. 'a' . 'b' は必ず 'ab' になります. これを 'ba' にする方法は存在しません. いや, 確かに overload とか駆使すればできるかもしれんけど, それをやったらあとで見たときに絶対混乱する. 'b' . 'a' なら 'ba' になるので, こうするのがベストじゃないかなぁ.
- steel_gray
- ベストアンサー率66% (1052/1578)
ちょっと質問がよくわかりません。 例 @a = qw/X Y Z/; $aaa = ':'; $a = join $aaa,@a; $a → 'X:Y:Z' これをどのような結果になるのがお望みなんでしょうか? 単なる文字列結合でしたら文字列結合演算子「.」を使うだけですが。 $a = 'abc'.'xyz'; $a → 'abcxyz'
補足
$a = 'a'.'b';を $a → 'ba' とbをaの前に結合する方法なのですが・・・ joinではできないのでしょうか?