MODULE-ENDMODULE、CLASS-ENDCLASS

MODULE-ENDMODULE、CLASS-ENDCLASS

モジュール化、クラス化して、スクリプトを意味のあるグループにまとめます
MODULE
  CONST 変数
  PUBLIC 変数
  DIM 変数
  PROCEDURE モジュール名
  PROCEDURE 関数名()
  FUNCTION 関数名()
ENDMODULE
または・・・
CLASS
  CONST 変数
  PUBLIC 変数
  DIM 変数
  PROCEDURE クラス名
  PROCEDURE 関数名()
  FUNCTION 関数名()
ENDCLASS
MODULEもCLASSも同義

・CONST 変数・・・名前.変数名で外部からアクセス可
・PUBLIC 変数・・・名前.変数名で外部からアクセス可
・DIM 変数・・・外部からアクセス不可
・PROCEDURE モジュール名/クラス名・・・コンストラクタ
・PROCEDURE 関数名()
・FUNCTION 関数名()

変数、関数をセットにした1つのグループを定義する際に使用

例えば、HUMANというオブジェクトがあったとします。
このオブジェクトには、NAMEという変えられない定数、
FEELINGという変数、そしてSPEAKという関数や
WALKという関数が備わっているとします。
これらの定数、変数、関数をバラバラに定義することも可能ですが、
HUMANというオブジェクトの中に収め、意味のあるグループで
まとめるたほうがよい場合が多々あります。
※メンテナンスがしやすい
※スクリプトの可読性が高まる
※変更してよい変数、してはいけない変数が明確になり、改修や影響調査がしやすい
などなど
もしオブジェクト指向という情報技術の一分野を学ぶ際には、
こういった考え方を知っておくのは大変役に立つでしょう。
まずは上のHUMANというオブジェクトを組み立ててみましょう。

//まずは喋らせてみる
MSGBOX(HUMAN.SPEAK())

//気分を変えてみる
HUMAN.FEELING = "I feel so bad"

//もう一度喋らせてみる
MSGBOX(HUMAN.SPEAK())

//歩かせて見ます
HUMAN.WALK()
//もう一度歩かせて見ます
HUMAN.WALK()
//もう一度歩かせて見ます
HUMAN.WALK()
//もう一度歩かせて見ます
HUMAN.WALK()

//MODULE-ENDMODULEとしてもよい
CLASS HUMAN
 CONST NAME = "John"
 PUBLIC FEELING = "I'm Happy"
 DIM STEPS
 PROCEDURE HUMAN()
  THIS.STEPS = 10
 FEND 
 FUNCTION SPEAK()
  RESULT = "My name is " + THIS.NAME + " " + THIS.FEELING
 FEND
 PROCEDURE WALK()
  THIS.STEPS = THIS.STEPS + 1
  PRINT THIS.STEPS + "歩目を踏み出しました"
 FEND
ENDCLASS

使い方

たとえば、汎用的な作業を別ファイルに書き出すとします。
UWSCではCALLを使うことで、
外部スクリプトを呼び出せますので、
よくある処理をまとめておけば、再度開発する手間が省けます。
こういう場合に、同じ名前の変数(関数)を使った/作ってしまった、
というケースは割とあります。
また、変数や関数が意味もなく、羅列してあるので収集がつかなくなったり
スクリプトのメンテナンス性が著しく悪くなってしまったりするケースもあります。
こういう場合にMODULEやCLASSを導入することで、
名前の被り(MODULE名やCLASS名が異なれば、内部の変数は被っても大丈夫)
意味のない関数、変数の乱雑さを抑止することができます。
下記のスクリプトは先ほどのスクリプトに一つ一つコメントを入れたものです。
導入する際のメリットになれば幸いです。

この投稿の続きを読む »

タグ

2012年9月15日 | コメントは受け付けていません。 |

カテゴリー:構文・制御文

CONST

CONST

定数を宣言します
CONST 定数名 = 値

・値・・・定数として設定する値

変わらない値を宣言するCONST

定数とは一度宣言されると変わらない値のことを指します。
変数は一度宣言しても、後から別の値を代入することで
値が変わります。
しかし、定数は変わりません。

CONST VAL1 = 100
PRINT VAL1
//VAL1は変えようとするとエラー
//VAL1 = 200

定数の使い道

定数は一度宣言すると変わりません。
無理に別の値を代入しようとすると以下のようにエラーとなります。



プログラム中でログインIDや、その他設定情報など、
変えたくない箇所があると思います。
明示的に定数と宣言することで、
第三者からも「この値は変えられないのだな」と伝えることができますし、
プログラム上からもエラーが出るので変えられ無いようにすることができます。
ちなみに、定数を使って、別の定数を宣言することは以下の通り可能です。

この投稿の続きを読む »

タグ

2012年8月7日 | コメントは受け付けていません。 |

カテゴリー:構文・制御文

このページの先頭へ