• 締切済み

joinで前に文字を結合させる方法

$a = join($aaa,@a); 文字を結合する時に、$aaaのあとに結合するのではなく、$aaaの前に結合させることはできるのでしょうか? もし、できないとしたら前に結合する方法のアドバイスを下さい。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

ひょっとしてひょっとして、 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)
回答No.3

>$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)
回答No.2

う~ん, やっぱりどういう操作を求めてるのかよくわかんない. 'a' . 'b' は必ず 'ab' になります. これを 'ba' にする方法は存在しません. いや, 確かに overload とか駆使すればできるかもしれんけど, それをやったらあとで見たときに絶対混乱する. 'b' . 'a' なら 'ba' になるので, こうするのがベストじゃないかなぁ.

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

ちょっと質問がよくわかりません。 例 @a = qw/X Y Z/; $aaa = ':'; $a = join $aaa,@a; $a → 'X:Y:Z' これをどのような結果になるのがお望みなんでしょうか? 単なる文字列結合でしたら文字列結合演算子「.」を使うだけですが。 $a = 'abc'.'xyz'; $a → 'abcxyz'

midorin_h
質問者

補足

$a = 'a'.'b';を $a → 'ba' とbをaの前に結合する方法なのですが・・・ joinではできないのでしょうか?

関連するQ&A

専門家に質問してみよう