- ベストアンサー
配列に空のデータを代入させない方法
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
param+=(${val:+"$val"}) ${val:+"$val"} というのは、if "$val"== "" then 空 else "$val" というような意味です。
関連するQ&A
- 配列にないデータのみを代入する方法
シェルスクリプトで重複するデータのない配列を作りたいのですが、配列に含まれていないデータのみを代入する、もしくは、代入したとしても配列内のデータの重複を取り除く方法を教えてください。 よろしくお願いいたします。
- ベストアンサー
- BSD系OS
- 読み込んだデータを配列へ代入する方法
---ここから--- 1,2 3,4 ---ここまで--- このようなファイルを読み込んでデータを配列へ格納するには, $pathname="D://data.txt"; open MYFILE, "$pathname"; @list=<MYFILE>; for($i=0;$i<2;$i++){ @dat=split(/,/,$list[$i]); print @dat; } close MYFILE; といったようなforあるいはwhileで1つの配列(上の場合だと@dat)に1行のデータを繰り返し入れていく方法しか思い浮かびません。できれば1行目のデータは@dat1という配列へ,2行目のデータは@dat2という配列へ,といったように行ごとに別々の配列へ代入させたいのですが良い方法はないでしょうか。 もしくは@dat=([1,2],[3,4])のような2次配列の形にでもできれば最高なのですが、、、
- ベストアンサー
- Perl
- エクセルVBAで、配列に値を代入する方法
今、エクセルでデータベース関係のマクロを組んでるんですが、うまくデータの代入ができなくて困ってます。 詳しくは、フォームにあるコンボボックスの選択肢が何か選択されている時は、特定のセルに”○”が入るようにしたいんですが、コンボボックスが複数あるので、配列にして1度に代入したいと考えてるんですが、何かよい方法はありませんか? それともただ文法がおかしいだけでしょうか?できたら、データを代入する所だけでいいのでコードを書いていただけませんか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 空の配列を示す方法
Flash8を使用して、ActionScript2を書いています。 if文を用いて、「変数my_array(配列)が空の配列でない場合は~」 という条件分岐を書きたいのですが、 空の配列を示す方法がわかりません。 var my_array:Array = new Array(); とした上で、 if (my_array == null) { trace("null"); } else { trace("違う"); } と書いて調べてみたのですが、 nullでもundefinedでも""でも[]でも「違う」と表示されてしまいます。 「空の配列でない場合」という条件を書く方法はあるでしょうか?
- ベストアンサー
- Flash
- シェル変数に2つのスペースを代入する方法
シェルスクリプトを作成する際、変数に2つのスペースを持つ値を代入するにはどうすればいいのでしょうか。 例えば変数SPACEに「Jan△△1」という文字列を代入したい(△はスペース1文字分)時、 SPACE="Jan△△1" echo $SPACE としても、 結果は「Jan△1」となってしまいます。 どなたかご存じの方、よろしくお願いします
- 締切済み
- Solaris系OS
- [arduino]数値の大きなデータを二次配列へ
シリアル通信で得たデータを二次元配列へ格納するために、 以前では、 if(Serial.available()>120){ for(int k=0;k<8;k++){ for(int l=0;l<15;l++){ //読み込んだ値を配列に代入 matrix[k][l]=Serial.read(); } } } このようなやり方で読み込んだ値を二次元配列に代入していたのですが、 128個以上のデータを扱いたい場合、Serial.availableでは保持できず、困っています。 方法として、 (1)一つずつデータを読み込み、128回ループを繰り返し配列に貯めていく。その後配列を2次元配列に代入する。 (2)一つデータを読みこんだら二次元配列の1行目1列目のドットに格納、もう一つデータを読みこんだら二次元配列の1行目2列目のドットに格納…というように、 読みこんだデータをそのまま二次元配列のそれぞれの場所へ格納していく。 というような二つの方法を思いついたのですが、 (1)の方法では、配列にデータを貯蓄していくコードをこのように↓書いたのですがうまくいかず、 for(int i=0;i<128;i++){ if(Serial.available()>0){ data[128] = Serial.read(); } } (2)の方法では、データを二次元配列のそれぞれの場所へ格納していく指定方法が分かりませんでした。 正しい書き方や、良いアイデアをお持ちの方がいましたら、是非御教授お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- long型のデータをバイト型の配列に代入する方法
long型のデータを配列を使って1byte毎に分けたい処理を作りたいのですが、 やりかたとしてはlong型のアドレスをポインタ変数に渡して、 ポインタ変数をバイト配列に代入する方法になりますでしょうか? 具体的なプログラムはこんな感じと考えてますが unsigned long LONG: unsigned char AAA[8], *pon, i: pon = &LONG for(i=0 i<8 i++) { AAA[i] = *pon + i; } C言語に詳しい方教えてください、よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 可変長の配列要素を文字列に代入する方法
ちょっとしばらくPHPやってなかったもので、へんなことで悩んでいます。 配列要素が固定長の場合、 <?php $a = array(1, 2, 3); //固定長3の場合 $data = "$a[0], $a[1], $a[2]"; //文字列$dataに配列要素を代入 ?> と簡単にできてしまいますが、 $aが可変長の配列であった場合にも同様の事がやりたいのですが、 この場合、PHPの記述としてはどう書くのがベストなのでしょうか? 御教示ください。
- ベストアンサー
- PHP
お礼
なるほど。if文に展開するとすごくわかりやすいです。 ありがとうございました。