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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0418
うー新規命令作成時のパラメータータイプ指定について2解決


うー

リンク

2011/4/18(Mon) 09:42:27|NO.38500

こんにちは、何度かお世話になっています。

#deffuncで命令を作成する際に、パラメータータイプを指定しますが、文字列・整数値・実数値のどれでも受け入れることが出来るパラメーターの指定は可能でしょうか?


#module #deffunc test str a mes "パラメーター="+a return test "テスト"

このようにすると整数値や実数値がパラメーターに来たときにエラーで弾かれますよね?
だからといって


#module #deffunc test var a mes "パラメーター="+a return test "テスト"

ってやると変数以外は弾かれます。


test "テスト" test 10 test 1.5

このようにどの型で来ても弾かれないような命令を作りたいのですが不可能でしょうか?

よろしくお願いします。



この記事に返信する


hexa.hemi

リンク

2011/4/18(Mon) 10:50:52|NO.38501

#deffuncであれば#defineを使用して

#module #define global test(%1) prm_a@testtest = %1 : _test prm_a@testtest// 一時的に変数に退避させてその変数で命令を実行する。 // prm_a@testtestは何でもよいが、変数を使われているかもしれないので、@hogehogeなどを最後につけて、モジュール変数にするとよい。 #deffunc _test var a// 来るのは変数なのでvarにする。 mes "パラメーター=" + a return #global test "テスト"// 実際には prm_a@testtest = "テスト" : _test prm_a@testtest となっている。 test 10 test 1.5
このようにするとできます。



うー

リンク

2011/4/18(Mon) 19:56:25|NO.38509

ありがとうございました。
無事解決しました。



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