- ベストアンサー
COBOLの論理演算子について
コボルのIF文で IF 区分1 NOT = """ とした記述はコンパイルでエラーとなりました・・・ " は句読文字?なのでこのままでは使えないようなのですが。 どのようにしたら " を判断してくれるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
偶然の一致に期待して無関係の言語の定数表現を教えても・・ COBOLの場合、定数ダブルコーティションを表現するのは、ダブルコーティション2個書きです。 IF 区分1 NOT = ”””” THEN ・・・・・・・・ または IF 区分1 <> ”””” THEN ・・・・・・・・ 同じような使い方で、16進定数表現もダブルコーティション2個書きを使いますので、書き方に注意が必要です。 IF 区分1 = ””FF”” THEN ・・・・・・・・
その他の回答 (3)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
>>#3 16進定数表現は、標準化されていないと思います。 故に、各コンパイラメーカーで書き方が異なります。 X""を使うコンパイラも存じていますが、どちらを使う方が主流かまでは知りません。
- chukenkenkou
- ベストアンサー率43% (833/1926)
どこのメーカーの、何というCOBOLですか? 私の使用していたCOBOLでは、文字定数を囲むのに「'」と「"」を使い分けられました。 「'」や「"」を定数としたい場合は、他の方の指摘のように、「''」や「""」と2個並べることで1文字の「'」や「"」と解釈されます。 これをさらに文字定数として指定するため、 IF 変数名 NOT = """" といった指定になります。 #2さんへ、もし存知なら教えてください。 >同じような使い方で、16進定数表現もダブルコーティション2個書き >を使いますので、書き方に注意が必要です。 >IF 区分1 = ””FF”” THEN ・・・・・・・・ これは、標準COBOLでもそうなのでしょうか? 私が知っている16進定数は、X"FF"のように、Xで表す方法なのですけど。
お礼
ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
COBOLの開発環境はまったく知りませんが BASICの場合だと、二重引用符は二重引用符を2つ書いて表現します。 つまり、 IF 区分1 NOT = """" THEN ~~~~~ と書きます。
お礼
ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。
お礼
ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。 16進定数表現も覚えておきます。