[ 新規に投稿する ]

ReplaceRegularのヘルプNo.10094
styth さん 23/03/08 08:44 [ コメントを投稿する ]
  ReplaceRegular, ReplaceRegularNoCaseSense関数(V1.98以降から) 
のヘルプを参照すると、

>例 
>$s = dllfuncstr( "ReplaceRegular", "([a-z]+)([0-9]+)", "--abcdefg1234567--", 0, "\\2\\1" );
>message $s;

 との記載があります。

 第5パラメータ(数値型)が省略された例が載っていました。
 第5パラメータは、省略できる旨の説明も追加して頂けないでしょうか?
 よろしくお願いいたします
[ ]
RE:10094 ReplaceRegularのヘルプNo.10095
秀まるお2 さん 23/03/08 10:05 [ コメントを投稿する ]
   ヘルプの方で勝手にパラメータを省略してしまって、ややこしくてすみません。

 dllfunc/dllfuncstrなどでパラメータを省略すると、数値の0を指定した扱いになるのは、実は秀丸エディタ/秀丸メールの機能になってまして、特にHmJre.dllやTkInfo.dll呼び出しじゃなくてもそうなっていたりします。しかし、そのことはヘルプには書いてませんでした。

 いわゆるアンドキュメンテッドな仕様になります。

 省略できるパラメータの数に上限があったりもします。その上限もどこにも書いてないですが、現状の秀丸エディタ/秀丸メールだと5つまで可能な作りにはなってるようです。

------------------------------
 このアンドキュメンテッドな仕様については一応そのままにしつつ、ReplaceRegularなどでの最後の数値パラメータの「0」が省略できるのは、ちゃんと「出来る」ってことで書いておきます。

 次の秀丸エディタ/秀丸メールに添付するヘルプから修正させていただきます。(HmJre.dllのバージョンはそのままで)
[ ]

[ 新規に投稿する ]