導入
レッスン9で PIC X(20) という記述をさらっと使いました。この PIC(PICTURE句)こそ、COBOLでデータを宣言するときの中心的な仕組みです。名前のとおり、データの「絵姿(picture)」——見た目や形を宣言します。
説明
PICTURE句は、変数がどんな種類のデータを、何桁分持つかを記号で表します。
01 WS-NAME PIC X(10).
01 WS-AGE PIC 9(3).
PIC X(10)…Xは英数字(何の文字でもよい)を表す記号。(10)は「10文字分」という意味。つまり「10文字までの英数字」というデータの姿。PIC 9(3)…9は数字1桁を表す記号。(3)は「3個」という意味。つまり「3桁の数値」というデータの姿。
X や 9 の1文字1文字が「その位置に何が入るか」を表す絵文字のような記号になっているのがPICTURE句の考え方です。(10) のようにカッコで繰り返し回数を書けますが、XXXXXXXXXX と10個ならべて書いても同じ意味になります(実務では (10) の書き方がほとんどです)。
多くの言語の「型」は int・string のように種類だけを表しますが、COBOLのPICTURE句は種類+桁数までを1つの記号列で表す点が大きな違いです。この「桁数まで型に含める」設計は、次のレッスンで見る「数値の正確な扱い」に直結しています。
試すには
PIC X(5) の変数に6文字の文字列を入れようとするとどうなるでしょうか。答えはレッスン19(MOVE文)で詳しく扱いますが、「桁数がデータの一部である」という感覚を、まずはここで持っておいてください。