• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「検査?真の処理:偽の処理」の書き方)

「検査?真の処理:偽の処理」の書き方を理解しよう

minus273の回答

  • ベストアンサー
  • minus273
  • ベストアンサー率75% (15/20)
回答No.1

例1でも大丈夫なように思います。 例3は意味が違います。たとえば偽のとき展開すると $datax[] = ($datax[] = $data1); になってしまいますよね? まさかとは思うのですが、上は $datax[] で下は $datay[] だからではないでしょうか……。

litton101
質問者

お礼

minus273さん、ありがとうございました。 す、すみません、 >上は $datax[] で下は $datay[] これがビンゴでした。。。(恥)

関連するQ&A

  • NULLの定義について

    C言語で、NULLとの比較を行う関数として、 strcmp関数を使用したいと考えています。 ある、文字列変数に、 "あいうえお"が入っている場合、 ""(何もない)の場合、 下記の例で真の処理と偽の処理、 どちらを通るのでしょうか。 当然、文字列変数が"あいうえお"の場合は、 真の処理を通ると思いますが、 ""(何もない)の場合が分かりません。 例として、 ~中略~ if( strcmp( 文字列変数, NULL ) != 0 ){ 真の処理 }else{ 偽の処理 } ~中略~ の時です。 言語によって、NULLは「0」と定義されていたような 記憶もありますが・・ したい事は、文字列変数が""の場合、 偽の処理をするようにしたいです。 プログラムの作り方を教えて下さい。

  • 変数の内容がNullと認識して、条件分岐するには?

    例えば、flagという変数があります。 この変数の内容がNull(空白)であるかどうかの区別はどうすればいいでしょうか? イミディエイトの窓で以下を実行してみたら、 ? flag Null if flag = Null then ? "真" else ? "偽" 偽 となります。flagはNullなのに、何故"偽"なんでしょう?どうすれば、真と判断してくれるのでしょうか? よろしくお願いします。

  • 繰り返し処理で

    以下のEXCELデータを【Sheet1】に取り込む 【Sheet1】       A      B    C 1 2008/1/1 0:00  100  100 2 2008/1/1 1:00  100  100 3 2008/1/1 2:00  100  100 この時最終行のA3の文字列を変数に入れる ↓ 【Sheet1】の全セルをクリア ↓ 【2回目のデータ】        A     B    C 1 2008/1/1 2:00  100  100 2 2008/1/1 3:00  100  100 3 2008/1/1 4:00  100  100 この時,1回目のデータの最終行だったA3の文字列【2008/1/1 2:00】と 2回目のデータのA1【2008/1/1 2:00】を比較して、 同じであれば、A2行目から処理を開始 ※ もし比較して一致しなければ1行目から処理 ↓ 【Sheet1】の全セルをクリア ↓ 2回目のデータの最終行だったA3の文字列【2008/1/1 4:00】と 3回目のデータのA1文字列を比較 一致したら2行目から処理 ↓ これの繰り返し処理 マクロを作ってみたのですが、何かもっとこうしたほうがいい様な書き方あれば 教えていただきたく思っているのですが・・・; あとContinueに代わる、繰り返し関数?ってありますでしょうか? ------------------------------------------------------------------------------- Gyo = 100 x = Null For h = 1 To Gyo  If h = 1 Then    'nullでない場合     if x := "" then       'A1とxを比較して同じであればコンティニュー       If x = Sheets(SheetName).Cells(1,1) Then          continue '←Forに戻る       End If     End If   else if h = Gyo then     '最終A行のデータをx変数に格納      x = Sheets(SheetName).Range("A100").End(xlUp).Row   End If Next h -------------------------------------------------------------------------------

  • 多くの選択項目を処理(SELECT)するストアド

    多くの選択項目を処理(SELECT)するストアド とあるデータ検索において、選択項目が10項目以上あり各項目の値をパラメータとして受取り、 該当データを返すストアドを検討しています。 項目が省略された場合は Null値がパラメータとして入ってきて、その項目は条件から除外します。 (全ての項目が省略されたら、全てのレコードが返される)下記の様な方法を考えています・・・ ----------------------------------------------------------------- if @para1 is null  if @para2 is null   if @para3 is null    select * from TBL   else    select * from TBL where koumoku3 = @para3  else   if @para3 is null    select * from TBL where koumoku2 = @para2   else    select * from TBL where koumoku2 = @para2 and koumoku3 = @para3 else  if @para2 is null   if @para3 is null    select * from TBL where koumoku1 = @para1   else    select * from TBL where koumoku1 = @para1 and koumoku3 = @para3  else   if @para3 is null    select * from TBL where koumoku1 = @para1 and koumoku2 = @para2   else    select * from TBL where koumoku1 = @para1 and koumoku2 = @para2 and koumoku3 = @para3 ------------------------------------------------------ 三つでも面倒なのに10項目以上では考えられません。 こんな時どのように作り込めばいいのでしょうか 動的ストアドにして where文自体を編集した物を渡す事も考えましたが、 エクセル出力時のパラメーター長の制限(?)で断念しました。 省略されなかった項目だけでデータを選択したいような事は多々あると思うのですが、 そんな時のオーソドックスは方法はどんな方法なんでしょうか? よろしくお願いします。

  • 多次元配列の処理について

    多次元配列を扱った処理を行ないたいのですが、一部でnullを受け取ってしまい、処理を行うことができません。 引数の配列には次のようなテキストが入っています。 --配列の内容-- 0,名詞-一般,1,5, 0,名詞-数,2,6, 0,名詞-接尾-助数詞,3,7, -------------- この配列をコマンドラインに書き出すと正確に表示されます。 しかし、配列の内容を参照して処理を行なうと2列目の処理のときにnullを参照してしまいます。 プログラムは以下のとおりです。 ---プログラム--- public class Dist {   public static int zairyo(String[][] date) {    int a = 0;    int b = 0;    int c = 0;    int d = 0;    int e = 0;    if(date != null) {     int f = 0;     System.out.println("//Dist//");     for(int m = 0; m < date.length; m++) {      for(int n = 0; n < date[0].length; n++) {       if(date[m][n] != null) {        System.out.print(date[m][n] + "\t");        f++;        if(f == date[0].length) {         System.out.println("");         f = 0;        }       }      }     }     for(int i = 0; i < date.length; i++) {      if(date[i][1] != null) {       if(date[i][1] == "名詞-一般")        a++;       if(date[i][1] == "名詞-数")        b++;       if(date[i][1] == "名詞-接尾-助数詞")        c++;      }else System.out.println("2列目null");     }     int j = date.length - 1;     d = Integer.parseInt(date[j][2]);     e = Integer.parseInt(date[j][3]);    }else System.out.println("Dist:null");    if(a > 0 && b > 0 && c > 0 && d <= 10 && e <= 15) {     return 1;    }else return 0;   } } ------------------------ 原因は何なのでしょうか? ご教授お願いします。

  • LISPのブロック?処理?

    LISPで (if (条件) (真の処理) (偽の処理) )のうち、 真の処理には1つの関数?しか、書けないのでしょうか? (if (条件) (setq x "○") (setq x "×") ) ======A====== 複数関数書きたい。 Aの部分は(progn ...)とするのでしょうか?

  • PowerShellで一部でもあるなら真としたい

    特定の単語の一部でも、ある配列に存在するなら真としたいです。 例えば以下は偽となるのですが、真となるような処理はありますか? -containsが正規表現使えるのならfoodの単語を*で挟むのですが… $item = "熟したリンゴを使ったタルト" $food = @("リンゴ","ミカン","パン") $food -contains $item 出来れば短く1行で行いたいです。よろしくお願いいたします。

  • functionの中で条件分岐が効かない

    JpGraphで、HTML検索フォームからPOSTされてきた変数 $numの値に応じて 縦軸の小数点以下の位数を調整したいのですがうまくいきません。 (テスト1) 下記サンプルをそのまま実行 (テスト2) num=0にする(5行目→コメントに;4行目コメント→外す) (テスト3) 4、5行目の両方をコメントにする →結果全て同じで、縦軸は少数点第3位(0.000~8.000)まで表示されます。 (テスト4) 4行目~15行目および22行目をコメントにする。 →縦軸は、少数点第1位まで表示されます(0.0~8.0)。 JpGraphに関係なく、何か基本的なことでつまづいている気がいたしますが。 <?php /*01*/ include ("./JpGraph/jpgraph.php"); /*02*/ include ("./JpGraph/jpgraph_scatter.php"); /*03*/  /*04*/ //$num = 0; /*05*/ $num = 1; /*06*/  /*07*/ function yLabelFormat($aLabel) { /*08*/   if ($num == 0){ /*09*/     return number_format($aLabel,3); /*10*/   } elseif ($num == 1){ /*11*/     return number_format($aLabel,2); /*12*/   } else { /*13*/     return number_format($aLabel,1); /*14*/   } /*15*/ } /*16*/  /*17*/ $datax = array(3.58,8.61,9.32,4.29,8.57,6.27,6.72); /*18*/ $datay = array(2.78,5.68,6.12,0.63,7.27,4.43,3.83); /*19*/ $graph = new Graph(500,500,"auto"); /*20*/ $graph->SetScale("linlin"); /*21*/ $sp1 = new ScatterPlot($datay,$datax); /*22*/ $graph->yaxis->SetLabelFormatCallback('yLabelFormat'); /*23*/ $graph->Add($sp1); /*24*/ $graph->Stroke(); ?>

    • ベストアンサー
    • PHP
  • 配列の処理で・・・

    @data = (aaa, bbb, ccc, ddd, eee, fff); if(@data == ccc);{ print "ccc"; } これを書いても偽がかえって来ます。 @dataの中に○○○があれば真をかえすようなものを作りたいのですがどうしたらいいでしょうか

  • 【SQLServer】何も処理しない場合の記述について

    【SQLServer】何も処理しない場合の記述について お世話になってます。 ご存知の方いらっしゃいましたら教えてください。 Oracleでは、IF文の中で何も処理したくない場合、明示的にNULLと書けば、コンパイルできます。 IF XXXXX THEN A = 100 ELSE -- 何もしない NULL END たとえ何も処理しない場合でも、明示的にELSE句を 書きたい場合は、 SQLServerの場合、何をかけばよいのでしょうか? 今のところ下記のように、ELSEの場合は意味の無い処理を記述しています。 IF XXX BEGIN A=100 END ELSE IF BEGIN -- 何も処理しない A = A END A=Aは意味の無い処理なのですが、削除するとコンパイルが通らなくなってしまうのでやむなく記述してます。 どなたかいいアイデアありましたらご教授くださいませ。 よろしくおねがいします。