通常、引数は値渡しで渡されます。参照渡しが必要な場合、引数をkey型で定義します。
以下の例では、CommonUtils.ksfに定義したsetLabel関数に”#label3″のラベルを持つRキーを引数として渡しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Kf(_sample){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ U{ R(#label1) R(#label2) R(#label3) Pe{ /* 別のksfファイル(_commonUtil.ksf)を読み込む */ $this%demandKS("_CommonUtils"); /* _commonUtil.ksfにある関数を呼び出す */ #label1?=_CommonUtils%testFunction("Hello world"); /* 引数なしで呼出し */ #label2?=_CommonUtils%testFunction(); /* 参照渡しで呼出し */ _CommonUtils%setLabel(#label3); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Kf(_CommonUtils){ /* 外部から使用可能な関数 */ /* 引数:文字列(初期値:No Parameter) */ /* 戻り値:文字列 */ Po((str)#testFunction,(str)in="No Parameter"){ (str)retStr="testFunction:"+in; /* 戻り値は()で記述する */ return(retStr); } /* 引数を参照渡しする場合、(key)型で定義する */ Po(#setLabel,(key)val){ /* key型の引数の値に"setLabel"を設定 */ val?="setLabel"; } } |
実行結果