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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0504
Humiパーセントのエラー3解決


Humi

リンク

2014/5/4(Sun) 00:26:09|NO.61823

既出か勘違いだったらすいません。
すでに対応(仕様?)されてるかもしれませんが、一応報告を

マクロで"%"で囲まれた文字列に変換するものを作ったのですが、
どうやら文字列内の"%"記号がパラメーターとして認識されてエラーがでます。

	
/* エラー * #define SetPercent(%1) ("%"+(%1)+"%") mes SetPercent("ABC") // mes ("%"+("ABC")+"%") // <-こう出て欲しかった /**/ /* 動く */ #module #define global ctype spestr(%1) spestr__(%1) #defcfunc spestr__ int index sdim str_, 2 poke str_, 0, index return str_ #global #define SetPercent(%1) (spestr(37)+(%1)+spestr(37)) mes SetPercent("ABC") // mes ("%"+("ABC")+"%") /**/

現在はspestrという関数を作成して回避しているのですが、
どうなんでしょうか?

また、こういうバグらしきものはどこへ報告したらいいのでしょうか?



この記事に返信する


暇人

リンク

2014/5/4(Sun) 00:36:36|NO.61825

これは仕様
マクロの中で%を文字として使いたければ "%%" と連続で書けば良い
\を文字として使いたいときに"\\"にするのと同じような事



Humi

リンク

2014/5/4(Sun) 00:37:43|NO.61826

というか、文字列内のパラメーターって置換できるんですね、、、

せめてエスケープシーケンスで回避できるようにしてもらいたいです。



Humi

リンク

2014/5/4(Sun) 00:39:28|NO.61827

暇人さんありがとうございます。

しらなかったです。
どうやら自分の知識不足だったようですいませんでした。



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