• ベストアンサー
  • 暇なときにでも

Array配列の末尾に追加したい。

MyString = Array("0です","1です","2です") ↑これの後ろに、"3です" を追加したいのですが、 どうしたらいいですか? Perl で言う、Push関数の様なものが欲しいのですが。。

共感・応援の気持ちを伝えよう!

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

  • ベストアンサー
  • 回答No.1
  • Hk2001
  • ベストアンサー率48% (24/49)

あとで追加する。という事でしょうか? だったら、普通に配列の数を増やして、そこに値を代入すればいいと思います。 手順は  (1)UBound で配列の最大を取得してカウントを1加算する。 (2)求めたカウントで ReDim する。そのとき Preserve を使い配列の値の初期化を止める。 (3)配列に値を代入する。 という具合です。 ヘルプで UBound、ReDim を調べればすぐコーディングできると思います。 できなかったら↓↓参考にしてください。 Private Sub Command1_Click() Dim MyString As Variant Dim lCnt As Long MyString = Array("0です", "1です", "2です") lCnt = UBound(MyString) + 1 ReDim Preserve MyString(lCnt) MyString(lCnt) = "3です" End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お時間を割いて答えて下さり、 ありがとうございます。 やっぱり ReDim Preserve するしかないんでしょうか。 Perl の Push関数は Push(配列名,文字列); という、 あえて配列のサイズを指定する必要のない、 とても簡単なものだったので、 そういう関数があるかなぁ?と思ったのですが。 (T-T)

その他の回答 (1)

  • 回答No.2
  • Hk2001
  • ベストアンサー率48% (24/49)

前に一度そういうの探した事があったんですけど、めぼしいものが見つかりませんでした。あると便利なんですけどね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ReDim で進めてみます。 お手数を取らせまして、申し訳ありません。 ありがとうございました。 また、何かありましたら よろしくお願いいたします。( ̄∇ ̄)

関連するQ&A

  • array_push関数について

    array_push関数を使って配列に追加していくことはできるのですが、多次元配列に追加する方法がわかりません。 WEBマニュアルを見ても詳しく書かれておらず困っています。 array_push関数で多次元配列に追加していくことはできるのでしょうか? できるのであれば簡単な書式をご伝授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • push(@array, {}); について

    いつもお世話になります。 いまperlのプログラムを読んでいるのですが、 push(@array, {});  という記述があり@arrayという配列の最後に値を追加しているというのはわかるのですが、どんな値なのか、つまり{}の意味がわかりません。スペースでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • JavaScriptで配列に配列を追加できません

    var array = [ ]; var add1 = ["a", "b"]; var add2 = ["c", "d"]; array.push(add1); array.push(add2); ----------------------------------------- 期待しているarrayの中身 [["a", "b"], ["c", "d"]] ----------------------------------------- 実際の実行結果 ["a", "b", "c", "d"] ----------------------------------------- どうすれば良いのでしょうか?

  • perlの配列追加について

    perlの配列の扱いについて質問です。 例えば、10個ほどの要素がある配列があるとして新しい要素を配列の任意の場所に追加する方法ってsplice関数を使うのが普通なのでしょうか? 本を参考にsplice関数を使ってみたら任意の場所に上書きのようになってしまいました(単に自分のやり方が悪いだけかもしれませんが)。 perlで簡単に配列の任意の場所へ、上書きではなく追加する方法をどなたか教えてください。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 配列の抽出

    PHPの配列の関数で数行程度でフィルターのような機能は可能なのでしょうか? 以下、サンプルですが血液型がAの新しい配列を作成するには、どのようにしたら良いのでしょうか? また、新しい配列でなく$matrixを血液型がAのみにする方法も知りたいです。 実際の例で示していただけましたら助かります。 <?php // 血液型(blood)がAの人のみの新しい、配列にしたい。 $agent1 = array( "blood"=>"A", "B"=> 80, "W"=> 60, "H"=> 85 ); $agent2 = array( "blood"=>"B", "B"=> 90, "W"=> 62, "H"=> 90 ); $agent3 = array( "blood"=>"O", "B"=> 78, "W"=> 56, "H"=> 80 ); $agent4 = array( "blood"=>"AB", "B"=> 81, "W"=> 59, "H"=> 83 ); $agent5 = array( "blood"=>"A", "B"=> 88, "W"=> 58, "H"=> 84 ); $matrix = array(); array_push($matrix, $agent1); array_push($matrix, $agent2); array_push($matrix, $agent3); array_push($matrix, $agent4); array_push($matrix, $agent5); var_dump($matrix); exit; ?>

    • ベストアンサー
    • PHP
  • C言語の配列をPush(追加)するには

    C言語の配列をPush(追加)するには タイトル通りなのですが、OPENCVにあるcvSeqPushのように 配列の末尾に新たな数値を追加する関数はあるのでしょうか?? できれば、簡単なサンプルコードもしくはそれが掲載されているページを紹介していただくと とても助かります。よろしくお願いします。

  • 多重配列の検索方法

    配列内の要素が10個あって重複することがない下記のような配列があった場合。 150に一番近いものを検索したいのですが、ループせずに一発で健作する方法はありますでしょうか。 _array.push({ data:img,_speed:0}); _array.push({ data:img,_speed:31}); _array.push({ data:img,_speed:62}); _array.push({ data:img,_speed:93}); _array.push({ data:img,_speed:124}); _array.push({ data:img,_speed:155}); _array.push({ data:img,_speed:186}); _array.push({ data:img,_speed:217}); _array.push({ data:img,_speed:248}); _array.push({ data:img,_speed:279}); _array.push({ data:img,_speed:309}); _array.push({ data:img,_speed:338}); _array.push({ data:img,_speed:367});

    • ベストアンサー
    • Flash
  • phpで配列の時 $names = array(

    phpで配列の時 $names = array('john','kate','bob') ; この右側のarrayは関数ですか?

    • ベストアンサー
    • PHP
  • 配列の基本

    perlだと@a = ('a'..'z','A'..'Z','0'..'9','_'); なんですが、PHPで $a = range('a', 'z'); array_push($a, range('A', 'Z'), range('0', '9'), '_'); とやって var_dump($a); で確認すると失敗していることがわかりました。 直してください。

    • ベストアンサー
    • PHP
  • C言語で配列の連結について教えてください

    以下のような構造体でmember[]の要素の後にmember2[]の要素を追加して、member[]を返す関数を作りたいのですがやり方がわかりません。よろしくお願いします。 (C++ vectorのpush_back、phpのarray_push()に相当する関数) typedef struct _MEMBER { char *name; int age; char *address; } MEMBER; MEMBER member[] = { "山田", 25, "東京都aaaaa", "木村", 30, "東京都bbbbb", "森田", 24, "東京都ccccc", }; MEMBER member2[] = { "伊藤", 23, "大阪府ddddd", "山野", 31, "大阪府eeeee", };