getdpiは初めて法則が崩れてるかも?No.10566
こみやんま さん 25/02/14 19:28
 

マクロ上でこれまで引数が無い関数は、
おそらく必ず「キーワード的に記述しても良い」ことになっており、

#a = getdpi();

// 本来は、

#a = getdpi; // 必ずこう記述できるようになっていたかと思います。


例えば、getclipboardなどすらその法則に沿っています。

beginclipboardread;
$b = getclipboard; // ()を付けて関数にしてもよいし、キーワードとしても良い。
message($b);


// しかし今回は記述できないようです。

getdpiよりdpiというキーワード扱いの方がいいのかな?

#a = dpi;

もしくは、ハンドル(かウィンドウ番号)を入れるようにします?

getdpi(h) or dpi[h] or dpi(h) など


[ ]
RE:10566 getdpiは初めて法則が崩れてるかNo.10567
こみやんま さん 25/02/14 19:41
 
gettotaltext も崩れていますね。

jsmode の hidemaruGlobalを「最初から」ネイティブ実装したものが出現するように
なったあたりから法則が崩れたかも。


//パラメータあり=関数 パラメータなし=キーワード
var hidemacJsGlobalFomulaNumber="var r;var a;var s='###='+m;"
+"if(arguments.length>=1){s+='(';for(var i=0;i<arguments.length;i++){if(i>0)
s+=',';a=arguments[i];if(typeof(a)=='string'){s+='R\"\xFF('+a+')\xFF\"';}els
e{s+=a;}}s+=')';}"
+"evm(s+';');r=gv('###');";


[ ]
RE:10567 getdpiは初めて法則が崩れてるかNo.10569
秀丸担当 さん 25/02/17 10:40
 
ご指摘ありがとうございます。
キーワードは基本的に名詞で、キーワードにするとしたら#a=dpi;です。
関数は基本的に動詞で、#a=getdpi();です。
jsの場合はキーワードも全部()付きなので、ごちゃ混ぜになってしまっていますがや
むを得ない状態です。
getclipboardは初期の頃からありますが、動詞なのにキーワードになっていて適切で
はなかったので、互換性は維持しつつも、適切なほうのgetclipboard()を追加してい
ます。

[ ]