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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1016
名無しのどん兵衛#deffunc命令のパラメータタイプについて1未解決


名無しのどん兵衛

リンク

2023/10/16(Mon) 15:56:51|NO.100266

#deffunc命令の、例えばintとかstrとか、そのようなパラメータタイプを、
一つのエイリアス名に複数組み込みたいです。例えば、
Command p1 ; p1は変数か文字列を入力
などです。
よろしくお願いします。



この記事に返信する


沢渡

リンク

2023/10/16(Mon) 18:54:25|NO.100272

「変数か文字列かの判別」というのはかなり厳しそうですが、たとえば
「引数に整数や実数を指定した場合は文字列に変換して処理を行う」とか、
「引数の型を判別して処理を分岐させる」ようなことは
マクロを噛ませることで可能なのではないでしょうか?
たとえば前者の例、

#module //文字列の左右を入れ替えて返す。引数は文字列だけでなく整数や実数でも可。 #define global ctype swaptext(%1) _swaptext(str(%1)) #defcfunc _swaptext str _text text=_text : l=strlen(text) sdim res,l+1 repeat l poke res,cnt,peek(text,l-cnt-1) loop return res #global mes swaptext(12345678) //整数 mes swaptext(M_PI) //実数 mes swaptext("abcdefg") //文字列
後者の例、

#module #define global hoge(%1) _tmp_=%1 : _hoge _tmp_ #deffunc _hoge var v mes v switch vartype(v) case 2 mes "これは文字列です" swbreak case 3 mes "これは実数です" swbreak case 4 mes "これは整数です" swbreak swend return #global hoge 123 hoge 3.14 hoge "あいうえお"



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100266への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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