2

displayステートメントCompany'sPolicyを使用してこれらの単語を表示したい のですが、使用する場合は、単語を変数と見なします。使ってみました

DISPLAY "COMPANY'S POLICY"
DISPLAY 'COMPANY\'S POLICY' 

しかし、どれも機能しませんでした。この一重引用符をどのように回避しますか?

サンプルコード:

DFHMDF POS=(1,23),LENGTH=30,            
   INITIAL="company's policy"
   ATTRB=PROT
4

4 に答える 4

8

引用符のエスケープは、他の多くの言語と同様にCOBOLでも機能します。試す:

DISPLAY 'COMPANY''S POLICY'

行の2つのアポストロフィは、1つのリテラルアポストロフィ文字を示します。または:

DISPLAY "COMPANY'S POLICY"

リテラル内でエスケープされていないアポストロフィを使用できるようにする外部文字列区切り文字として引用符を使用します

DFHMDF内(厳密に言えば、これはCOBOLではありません)では、文字通りの区切り文字としてアポストロフィを使用するように制限されています。ここでは、2つのアポストロフィを続けて使用することに頼る必要があります。

          DFHMDF POS=(1,23),LENGTH=30,                                X            
                INITIAL='company''s policy',                          X
                ATTRB=PROT
于 2012-04-12T14:59:32.487 に答える
0

理想的にはこれが機能する必要があります

DISPLAY "COMPANY'S POLICY"
于 2012-04-12T14:17:12.397 に答える
0

Enterprise COBOLコンパイラーは、引用符の混合をサポートしています。

これらのいずれかが機能します:

DISPLAY'彼は「こんにちは」と言った。DISPLAY"彼は""こんにちは"""と言った。

「疲れた」と表示します。ディスプレイ'私は''疲れています'。

QUOTE / APOSTオプションは、比喩的な定数QUOTE(S)と関係があり、これは常にバックアップオプションとして使用できます。

于 2012-04-14T18:07:06.983 に答える
-2

これはBMSマクロ呼び出しのように見えます。ダブルアポストロフィーを使用する必要があります。

「会社」の「ポリシー」を表示する

また

DFHMDF POS =(1,23)、LENGTH = 30、
INITIAL='会社のポリシー'ATTRB= PROT

COBOLの比喩的な定数を使用することもできます(APOSTコンパイラオプションがオンの場合)。

'COMPANY' QUOTE'SPOLICY'を表示します

于 2012-04-12T20:16:24.077 に答える