行番号

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

行番号(ぎょうばんごう)とは、プログラミング言語で行頭に番号を打つことで命令文を区切る方式で、FORTRANや旧型のBASIC等に見られる。

10 A=2
20 B=3
30 PRINT A+B

goto文などジャンプ系の命令文では、ラベルの代用にも使われる。本来FORTRANの行番号はラベルの用途であり、全ての行に番号を付ける必要は無かった。BASICは教育用途の言語であるため、命令が順次処理される様子を分かりやすく表現するようそのような形態になったものと思われる。この特徴は「BASIC最大の設計ミス」と批判されることが多く、Visual Basicなどでは姿を消している。

40 goto 10

BASICでは命令文を打ち込んで改行すると適度な数字間隔(主に10刻み)で自動に行番号を打ち込む仕様(自動的な行番号の採番はAUTO命令によって制御できる処理系もある)になっているため、行間に命令文を追加する場合には、手動でその間の行番号を打ち込む(10と20の間で15、とか)。

また、スクリーンエディタ機能が未発達だった初期のコンピュータのBASICなどは行番号を指定してプログラム内容の表示、編集を行うラインエディタ指向での範囲指定という性格もある。そのためにLIST(指定した行番号の範囲のリストを表示する)、RENUM(行番号を一定間隔で振りなおす)といった命令も存在している。

たとえば、行番号に依存したBASIC処理系で、上記プログラムの行番号20のB=3をB=4と編集する場合には以下のように作業する。

  1. LIST 20 と入力して、行番号20の内容を表示させる
  2. その下の行に20 B=3という現在のその行の内容が表示される
  3. カーソルを移動させ、34に編集する
  4. エンターキーを押下する。これにより、メモリ内の行番号20の内容が置き換わる。

今日では、スクリーンエディタが発達しているため、最近の言語処理系ではこのような作業のために行番号が使われることはなくなった。

構造化プログラミングとの関係[編集]

行番号と goto文を用いるプログラミングでは、goto 文をいくつも組み合わせると処理の流れを追いにくくなる欠点があった(→スパゲティプログラム)。後に現れた言語では、文の区切りやブロックの記述を工夫することで、行番号を使用しない構文を採用するようになった。近年の BASIC も行番号を使わない記述方法を用いている。

構造化プログラミングを参照。

関連項目[編集]