HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0118
sibungi#deffunc 命令の local 指定について4解決


sibungi

リンク

2015/1/18(Sun) 04:13:13|NO.66988

過去にも同じ質問があったことは確認しましたが
何年か前のものだったので自分の提案をかねてもう一度投稿します。
local 指定の関数が実際に使用される前と後どちらで定義されていても、
モジュール内ではモジュール名を指定せずに呼び出せるようになると便利だと思います。

自分はモジュール内でのみの関数名の最後に_local をつけたりしていますが
何度も呼び出す場合やや手間がかかります。 皆さんはlocal 指定使ってますか?

以下は後で定義された関数だけ成功していることを確認したスクリプトです。

#module #deffunc local B mes "B" return 0 #deffunc test tmp = a() tmp = b() return #defcfunc local A mes "A" return 0 #global test



この記事に返信する


sibungi

リンク

2015/1/18(Sun) 04:23:43|NO.66989

スクリプト間違えて投稿しました。すみません。
二行めのdeffunc は defcfuncでした。
それでも動作は同じです。



774

リンク

2015/1/18(Sun) 20:20:59|NO.66994

>皆さんはlocal 指定使ってますか?
仰るようにモジュール名指定が面倒なので使いませんねぇ。

私はモジュール毎に対象や目的で関数名にプレフィックスを付けた上で
内部用やdefineで使うものには _ を先頭に付けてます。

>何度も呼び出す場合やや手間がかかります。
こんなのはどうでしょうか。

#module #define A A_local_modName #define B B_local_modName #defcfunc B_local_modName mes "B" return 0 #deffunc test tmp = a() tmp = b() return #defcfunc A_local_modName mes "A" return 0 #global test



sibungi

リンク

2015/1/18(Sun) 21:53:20|NO.66995

>私はモジュール毎に対象や目的で関数名にプレフィックスを付けた上で
内部用やdefineで使うものには _ を先頭に付けてます。

先頭に_をつけるのですか。とても分かりやすいです。使ってみます!

>こんなのはどうでしょうか
#define で関数名の置き換えを使うんですね。 
デフォルトパラメータをつける時しか使っていなかったので気づきませんでした。
とても簡単ですし、これなら内部でしか使わない関数だというのも分かりやすいですね。



レノス

リンク

2015/1/19(Mon) 17:32:10|NO.67000

こういうやり方もあります。定義に一手間増えますが

#module Mod #defcfunc B@Mod mes "B" return 0 #deffunc test tmp = A() tmp = B() return #defcfunc A@Mod mes "A" return 0 #global test A = 0 // これは変数



ONION software Copyright 1997-2023(c) All rights reserved.