なでしこを明後日の方向に

日本語プログラム言語なでしこを応援しています

なでしこ3webkit版の内部情報取得命令を使ってみる

前回の続き。

なでしこ3webkit版の特殊命令「内部情報取得」系の命令を使ってみます。

非同期命令の「内部情報取得時には」と、 そうじゃない「内部情報取得」があります。

触って分かったのですが、戻り値の型が違うので注意が必要です。

ここではwindows用のwebkit版v3.4.13を使用しています。 未来のバージョンでは仕様が変更になる可能性があります。

「内部情報取得時には」命令

まずは「内部情報取得した時」について見てみます。
サンプルでは対象を反復しているところをみるに、「対象」に返ってきて、辞書型であるようです。

//なでしこ3webkit版v3.4.13
内部情報取得した時
  対象コンソール表示
ここまで

実行結果

対象に辞書型で返ってくることが確認できました。 キーは以下の通り。

 EXEパス,ユーザフォルダ、作業フォルダ、母艦幅、母艦高、起動ポート

辞書型なので  対象"EXEパス"表示 または  対象["EXEパス"]表示 とすることで、webkit版の実行ファイルである nadesiko3.exe のフォルダパスが取得できます。

「内部情報取得」命令

非同期命令じゃないほうの「内部情報取得」を試してみましょう。
こうでしょ!

//なでしこ3webkit版v3.4.13
内部情報取得
それコンソール表示

実行結果

エラーなく動きましたね。
では"EXEパス"を表示してみましょう。

//なでしこ3webkit版v3.4.13
内部情報取得
それ"EXEパス"表示

・実行結果

undefined(未定義)、ですね…?

よくよくみたらこの返ってきた値は…『文字列』ではないですか!
下記のように JSONデコード したら動きました。

//なでしこ3webkit版v3.4.13
内部情報取得  //JSON文字列が返る
それJSONデコード
それ"EXEパス"表示

なでしこv1の母艦パスなどの、パス取得系が返す文字列には末尾に「\」がついていましたが、 内部情報取得系ののexeパスには末尾に「\」がないので注意します。

webkit版からnakoファイルを起動する

あらためて前回やりたかった「nadesiko3.exeの横にあるnakoファイルを起動」をしてみます。

//なでしこ3webkit版v3.4.13
//exeファイルの横にあるnakoファイルを起動するサンプル
内部情報取得  //JSON文字列が返る
それJSONデコード
exeパスそれ"EXEパス"
nakoファイルパス「{exeパス}\テスト.nako」 //exeパスのうしろに\が必要

ナデシコランタイムパス「C:\Program Files (x86)\nadesiko_lang\vnako.exe」 //環境による

[ナデシコランタイムパス,nakoファイルパス]起動 //[exeファイル, nakoファイル]を起動

「完了」表示 //テスト.nakoを閉じたのちに実行される

まとめ

(webkit版v3.4.13・2023年7月現在)
 ・内部情報取得時には … 対象に辞書型のオブジェクトを返す
 ・内部情報取得    … それにJSON文字列を返す

バージョンで変わってくるかもしれないので、いじって確かめましょう!