• ベストアンサー

配列の各要素に文字列結合

を、したいのですがperlではどの様に書くのが スマートでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.5

No 2 の Tacosan の回答で終わっていると思う。 無粋に例をあげると my @hairetsu = qw/ tom john kerry micky /; my @joinned = map { "hello " . $_ } @hairetsu; foreach my $str (@joinned) { print $str, "\n"; } みたいな感じ。 この例では、配列要素の前に固定文字列をくっつけている けど、後ろにつける場合や、固定じゃない文字列をくっつける 場合等さまざまある。

popepon
質問者

お礼

欲しい機能はまさにソレでした for文回して要素数カウントして インデックス指定して前後に文字列結合して って言うのが手間だし見にくいと感じたので perlなら何かありそうだなと思って投稿させて頂きました 参考になりました、有難うございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • N60-BASIC
  • ベストアンサー率80% (17/21)
回答No.4

$_ .= 'hoge' foreach @HAIRETSU;

popepon
質問者

お礼

ごめんなさいこちらの勘違いだったみたいです こちらの例も結合出来てるのを確認しました 有難うございました

popepon
質問者

補足

ご回答有難うございます 確認しましたが @HAIRETSUの要素数だけ 対象を結合してるだけに見えますので もしそういう意図であるならば こちらの意図と違うので評価出来ません ごめんなさい

全文を見る
すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

補足をいただいたけど 意味が分からないわ。 どういうものがどのように変化してほしいのか 具体的に書いてくれないかしら。

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

正直なところ「配列の各要素に文字列結合」で何をしたいのかさっぱり分からんのだが, 文字通り解釈するなら map?

popepon
質問者

補足

ご回答有難うございます 恐らくその解釈で合ってるかと思いますが 具体的な例を出していただけると助かります

全文を見る
すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

joinを使えばいいと思う。 MOJIRETSU = JOIN ($SEPARATOR, @HAIRETSU)

popepon
質問者

補足

ご回答有難うございます この例ですと、一つの変数に文字列を連結して代入すると言う意図でしょうか? 各要素を連結するのではなく @HAIRETSU の"各要素に"文字列結合をしたいのです

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列を1つの要素とした配列を作る

    はじめまして、工学系の大学生です。C言語について質問です。 文字単体をデータとして配列を作るなら、例えば char [100]; で構わないと思うのですが、文字列を1つのデータとして配列を作る場合はどうしたらいいのでしょうか?僕が思いついたのは2次元配列を用いて1つの次元をデータ数、もう1つの次元を各データの最大文字数として例えば char name[100][20]; のように定義して、 name[0][]=David; name[1][]=Mathew; などととすれば、printf関数でname[0]を出力したらDavidが出てくれるかと思ったのですが、エラーがたくさん出てきてしまいました。 もしよろしければどなたか教えていただけないでしょうか?どうぞよろしくおねがいしますm(_ _)m

  • 配列に入った文字列を結合したいのですが

    str = array1[m] + array2[n] というように結合したいのですがエラーになります。 どうすればいいのでしょうか?

    • ベストアンサー
    • Ruby
  • 配列の各要素に結合

    @tangoa = ('A','B','C','D','E','F'); @tangob = ('K','L','M','N','O','P'); の2つの配列の各要素を結合させて AK AL AM AN AO AP BK BL BM BN BO BP CK CL CM CN CO CP DK DL DM DN DO DP EK EL EM EN EO EP FK FL FM FN FO FPという配列(@tangoc)を作りたいのですが、 2つの配列の各要素を結合させるにはmapを用いてどのように書くべきか具体的に教えてください。

    • ベストアンサー
    • Perl
  • 配列の要素の結合について

    下記の(変更前)から(変更後)のように配列の要素を結合し、 結合後の要素の数は減らしたいと思っています。 関数などを調べたですが、なかなか実現できない状況です。 ご教授いただければと思います。 よろしくお願いします。 (変更前) array(4) { [0]=>"郵便番号" [1]=>"東京都" [2]=>"大田区" [3]=>"氏名" (変更後) array(3) { [0]=>"郵便番号" [1]=>"東京都大田区" [2]=>"氏名"

    • ベストアンサー
    • PHP
  • 配列の要素数について

    私はよくperlで for ($i=0; $i<=$#hoge; $i++) {} などと書いたりするのですが、phpで同じようにしたいのですが、 その際、perlの配列最後の添字を返す$#hogeにあたるものはないものなのでしょうか? あくまでforeachなど別の方法論や複数行ロジックを書いて取得するなどではなく配列の最後の添字を簡単に取得できるかが問題なのです。

    • ベストアンサー
    • PHP
  • perlで配列の要素が空なのを知るには?

    教えてください。 例えば、perlの次の様な要素が3つある配列で、 @t = ('A',,'C'); 2要素目が空で有ることを判別したいのですが、どうしたら良いでしょうか?

    • ベストアンサー
    • Perl
  • 2つの配列要素を比較して、一致しない要素を別配列にしたい

    配列A、配列B、配列C と仮にします。 配列Aから、配列Bと一致しなかった要素の値を配列Cに入れる (一致した分を除外したい) みたいなことをデータベースを使用せずに、Perlで実現したいのですが可能でしょうか?

    • ベストアンサー
    • Perl
  • 連想配列内の文字列を結合できませんか

    連想配列?の$col[""]内の文字列を結合することはできませんか. PHP4とMySQL 4.0の組み合わせでアンケートページを作ります. 質問1 が 1.phpに($pageid=1;) 質問2 が 2.phpに($pageid=2;) 質問3 が 3.phpに($pageid=3;) 質問4 が 4.phpに($pageid=4;) 質問5 が 5.phpに($pageid=5;) それぞれあります. これに対応して,回答を格納するDBも,CHAR(1)でAns1~Ans5まであります.ここで, $pageid=1; $rst = mysql_query($sql, $con); $col = mysql_fetch_array( $rst); ${"Answer" . $pageid} = $col["Ans" . $pageid]; echo $Answer1; みたいに,連想配列名を変数で指定するような強引技はできないのでしょうか? http://oshiete1.goo.ne.jp/qa2706401.html で同じような質問を 一旦は取り下げたのですが,やっぱり実現したいです.

    • ベストアンサー
    • PHP
  • 配列を返す関数から、一つの要素だけ取り出したい。

    例えば、配列を返す関数、get_array がある時、 その配列の0番目の要素だけが欲しい時、 Perlでは、 $val = get_array[0]; (配列リファレンスを返す場合は、$val = get_array->[0]; ) みたいな感じで書けたと思いますが、 PHPでは、 $val = get_array()[0]; みたいに書けないですよね? 以下のように、二行で書かなければダメですか? $array = get_array(); $val = $array[0];

    • ベストアンサー
    • PHP
  • 配列の要素を結合する方法

    すごく基本的なことで恥ずかしいのですが、 条件を満たす配列の要素を結合し、元の配列に返す方法がわかりません。 foreach $aa (@aa) { if ($aa =~ /-/){ } } とまでは考えたのですが・・・ どなたかお分かりの方、よろしくおねがいします。

    • ベストアンサー
    • Perl