グループ
ひまわりからの変更点のうち、新機能の目玉とも言えるのが「グループ」です。グループの書式にせまります。
グループ定義
グループを定義するには
■(グループ名) 例:■人物データ
と書きます。
また、すでにあるグループを拡張して新しいグループを作る場合は
■(新グループ名) +(ミックスグループ名) 例:■友達データ +人物データ
と書きます。ここで、元となるグループをミックスグループと呼びます。
新しく作られるグループは、ミックスグループの変数、関数の定義内容を引き継ぎます。
また、ミックスグループに存在する、同じ名前の変数や関数を定義すると、新しい定義で上書きすることができます。
グループ内変数
グループに変数を定義するには、
グループ定義の下の行から、インデントして
・(変数名) 例: ・住所
と書きます。
・{(型)}(変数名) 例: ・{文字列}住所
と書くと、変数の型を指定できます。
また、
・{非公開}(変数名) 例: ・{非公開}F電話番号表
と書くことにより、この変数はグループ内関数からのみ読み書きが出来るようになります。
内部変数を非公開にすることにより、グループの独立性を高めることができます。
グループ内関数
グループに関数を定義するには、
グループ定義の下の行から、インデントして関数名と引数、〜を書き、さらにインデントして処理内容を書きます。
・(関数名)((引数))〜 例: ・携帯番号取得〜
(処理内容) それは、F電話番号表[2]。
通常の関数と同様、特殊変数「それ」に代入することで戻り値を指定できます。
関数も変数と同じように、非公開にすることが可能です。
内部関数を非公開にすることで、セッター・ゲッターやコンストラクタなど(後述)
特殊な用途の関数をプログラムから実行されることを防ぎます。
プロパティ
プロパティとは仮想的な変数のようなもので、グループの外部からは変数と同じように読み書きが可能ですが、
書き込まれた時、読み込まれた時の動作をそれぞれ関数で定義することが出来ます。
書き込まれた時に実行する関数をセッター、
読み込まれた時に実行する関数をゲッターと呼び、
セッターは必ず引数を1つ持ちます。(書き込まれた値が入る)
グループにプロパティを定義するには、
グループ定義の下の行から、インデントして
・(プロパティ名) ←(セッター名) →(ゲッター名) 例: ・携帯番号 ←携帯番号設定 →携帯番号取得
と書きます。
外部から見える型とは別の形式で変数の内容を保持する場合や、
読み書きに伴って処理したいことがある場合に役に立つ機能です。
イベント
イベントとは、変数に代入されたなでしこプログラムです。
関数と異なり、引数を持ちません。
変数が参照されると、代入されているプログラムを実行し、特殊変数「それ」の内容を値とします。
GUI部品のウィンドウメッセージと関連付けて、
命令「イベント登録」によってシステムに登録することができます。
グループにイベント型変数を定義するには、
グループ定義の下の行から、インデントして
・{イベント}(イベント型変数名) 例: ・{イベント}クリックした時
と書きます。
グループ定義の段階では、
通常の関数定義と同様、行末に"〜"を書いてデフォルトの動作を記述しても構いませんが、
GUI部品のイベントは作成した部品毎に異なるのが普通ですので、
イベント定義ではイベント名だけを書いて、名前を予約しておくようにします。
コンストラクタ
コンストラクタとは、グループが作成された時の初期動作を定義する関数です。
「作る」という関数名でグループに関数を定義しておくと、
実際にグループを作成した時に、自動的に実行されます。
変数の初期値を設定する等、作成時に行うべき動作を記述できます。