グループ


 ひまわりからの変更点のうち、新機能の目玉とも言えるのが「グループ」です。グループの書式にせまります。

グループ定義


グループを定義するには
 ■(グループ名)              例:■人物データ と書きます。
また、すでにあるグループを拡張して新しいグループを作る場合は
 ■(新グループ名) +(ミックスグループ名) 例:■友達データ +人物データ と書きます。ここで、元となるグループをミックスグループと呼びます。

新しく作られるグループは、ミックスグループの変数、関数の定義内容を引き継ぎます。
また、ミックスグループに存在する、同じ名前の変数や関数を定義すると、新しい定義で上書きすることができます。


グループ内変数


グループに変数を定義するには、
グループ定義の下の行から、インデントして
 ・(変数名)      例: ・住所 と書きます。
 ・{(型)}(変数名)  例: ・{文字列}住所 と書くと、変数の型を指定できます。 
また、
 ・{非公開}(変数名) 例: ・{非公開}F電話番号表 と書くことにより、この変数はグループ内関数からのみ読み書きが出来るようになります。
内部変数を非公開にすることにより、グループの独立性を高めることができます。


グループ内関数


グループに関数を定義するには、
グループ定義の下の行から、インデントして関数名と引数、〜を書き、さらにインデントして処理内容を書きます。
 ・(関数名)((引数))〜      例: ・携帯番号取得〜
  (処理内容)              それは、F電話番号表[2]。
通常の関数と同様、特殊変数「それ」に代入することで戻り値を指定できます。

関数も変数と同じように、非公開にすることが可能です。
内部関数を非公開にすることで、セッター・ゲッターやコンストラクタなど(後述)
特殊な用途の関数をプログラムから実行されることを防ぎます。


プロパティ


プロパティとは仮想的な変数のようなもので、グループの外部からは変数と同じように読み書きが可能ですが、
書き込まれた時、読み込まれた時の動作をそれぞれ関数で定義することが出来ます。

 書き込まれた時に実行する関数をセッター、
 読み込まれた時に実行する関数をゲッターと呼び、
セッターは必ず引数を1つ持ちます。(書き込まれた値が入る)

グループにプロパティを定義するには、
グループ定義の下の行から、インデントして
 ・(プロパティ名) ←(セッター名) →(ゲッター名) 例: ・携帯番号 ←携帯番号設定 →携帯番号取得 と書きます。

外部から見える型とは別の形式で変数の内容を保持する場合や、
読み書きに伴って処理したいことがある場合に役に立つ機能です。


イベント


イベントとは、変数に代入されたなでしこプログラムです。
関数と異なり、引数を持ちません。
変数が参照されると、代入されているプログラムを実行し、特殊変数「それ」の内容を値とします。

GUI部品のウィンドウメッセージと関連付けて、
命令「イベント登録」によってシステムに登録することができます。

グループにイベント型変数を定義するには、
グループ定義の下の行から、インデントして
 ・{イベント}(イベント型変数名) 例: ・{イベント}クリックした時 と書きます。

グループ定義の段階では、
通常の関数定義と同様、行末に"〜"を書いてデフォルトの動作を記述しても構いませんが、
GUI部品のイベントは作成した部品毎に異なるのが普通ですので、
イベント定義ではイベント名だけを書いて、名前を予約しておくようにします。


コンストラクタ


コンストラクタとは、グループが作成された時の初期動作を定義する関数です。
「作る」という関数名でグループに関数を定義しておくと、
実際にグループを作成した時に、自動的に実行されます。

変数の初期値を設定する等、作成時に行うべき動作を記述できます。