RPG

391. フリー・フォーマットは万能ではない

ここまで組込み関数の使い方をRPGのフリー・フォーマット
交えて解説してきたがそれではすべてのRPG演算命令を
フリー・フォーマットに変更するかあるいは
新規の記述はすべてフリー・フォーマットとするかというと
それは早計である。
フリー・フォーマットは万能ではないからだ。

固定形式の演算命令がすべてフリー・フォーマットに置き換え可能であると
いうわけではない。
ここでの解説はすべてフリー・フォーマットに置換えてしまえ、という
やや乱暴な方針に警鐘を鳴らすためである。

 多くの演算命令は使用可能かまたは代替の命令が用意されているが

MOVEA と LOOKUP

はフリー・フォーマットでは使用することができない。
%SUBARR や %LOOKUPは提供されているが従来のMOVEALOOKUPとは
 使用方法が異なっていて従来のMOVEAやLOOKUPを知る者にとっては
逆にわかりずらいソースとなってしまう。
 
 MOVE に対しては EVALR という見慣れない命令が用意されているが MOVE と書くほうが
わかりやすいだろう。
あえてわかりにくい新しい命令を使うメリットはない。

さて MOVEAの使用頻度も高くこれが使えない、あるいは変わってしまうと
読みづらくなってしまう。
何でも極端に変更してしまうとかえって醜い結果となってしまう。

IBMの最近のマニュアルは H仕様書やI仕様書、D仕様書まで
フリー・フォーマットの例文で記述している。
これはかえってマニュアルをわかりづらくしてしまっているように
見える。

フリー・フォーマットはあくまでもわかりやすくするために
適切に使うことをお奨めしたい。