2016-08-16 7 views
0

私の質問は、現在私がCSV文書で抱えている問題に基づいていますが、もっと一般的です。Perlの値が初期化されているかどうかを調べるコマンド

Java/Groovy/Gosuのnull疑問符のようなものを使用して、配列インデックスが初期化されているかどうかを調べたいと考えています。

私のようなものがあります:

for (my i = 0; i < @engVals or i < @frenchVals; i++) { 

    $csv->print($file, [ $engVals[i] ?: "", , $frenchVals[i] ?: "" ]); 

    # Where Elvis ops ensure that the array element at i is initialized, and if not stores blank in the CSV 
} 
+1

[定義済み](http://perldoc.perl.org/functions/defined.html)かどうか知りたいですか? –

答えて

3

あなたのneを参照してくださいを行うことができますエドが定義されている場合は、その左のオペランドを返す定義さまたはオペレータ//、次の2つの配列要素間の2つのコンマを持っていた私はなぜわからないし

$csv->print($file, [ $engVals[i] // "", $frenchVals[i] // "" ]); 

そうでない場合はその右オペランド。それがタイプミスであった場合は、上記の文が必要ですが、結果のCSVデータに中間の空白フィールドがあることを意図した場合は、, "",と書く必要があります。

+0

ありがとうございます、真ん中の昏睡状態は、csvの2つの列を分ける余分な空白スペースを与えることでした。 –

関連する問題