• ベストアンサー

COBOLの論理演算子について

コボルのIF文で IF 区分1 NOT = """ とした記述はコンパイルでエラーとなりました・・・  " は句読文字?なのでこのままでは使えないようなのですが。 どのようにしたら " を判断してくれるのでしょうか?

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

  • ベストアンサー
回答No.2

偶然の一致に期待して無関係の言語の定数表現を教えても・・ COBOLの場合、定数ダブルコーティションを表現するのは、ダブルコーティション2個書きです。 IF 区分1 NOT = ”””” THEN ・・・・・・・・ または IF 区分1 <> ”””” THEN ・・・・・・・・ 同じような使い方で、16進定数表現もダブルコーティション2個書きを使いますので、書き方に注意が必要です。 IF 区分1 = ””FF”” THEN ・・・・・・・・

westbebe
質問者

お礼

ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。 16進定数表現も覚えておきます。

その他の回答 (3)

回答No.4

>>#3 16進定数表現は、標準化されていないと思います。 故に、各コンパイラメーカーで書き方が異なります。 X""を使うコンパイラも存じていますが、どちらを使う方が主流かまでは知りません。

回答No.3

どこのメーカーの、何というCOBOLですか? 私の使用していたCOBOLでは、文字定数を囲むのに「'」と「"」を使い分けられました。 「'」や「"」を定数としたい場合は、他の方の指摘のように、「''」や「""」と2個並べることで1文字の「'」や「"」と解釈されます。 これをさらに文字定数として指定するため、 IF 変数名 NOT = """" といった指定になります。 #2さんへ、もし存知なら教えてください。 >同じような使い方で、16進定数表現もダブルコーティション2個書き >を使いますので、書き方に注意が必要です。 >IF 区分1 = ””FF”” THEN ・・・・・・・・ これは、標準COBOLでもそうなのでしょうか? 私が知っている16進定数は、X"FF"のように、Xで表す方法なのですけど。

westbebe
質問者

お礼

ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。

回答No.1

COBOLの開発環境はまったく知りませんが BASICの場合だと、二重引用符は二重引用符を2つ書いて表現します。 つまり、 IF 区分1 NOT = """" THEN ~~~~~ と書きます。

westbebe
質問者

お礼

ご回答有難う御座います。 今日会社で2つ続けて書いてやってみたら出来ました。 本当に有難う御座いました。助かりました。

関連するQ&A