JavaScript拡張
JavaScriptの拡張機能
CookerのJavascriptでは、windowオブジェクトの下に、いくつかのオブジェクトが拡張機能として提供されています。
window.cooker.external オブジェクト
1: | GetData(token) | Rice で設定された文字列を受け取ります。非同期関数です。 |
2: | SetData(token,object) | Rice に文字列を送ります。非同期関数です。 |
3: | Notice(token,object) | Rice:jsexecutorのNotice イベントを発火します。非同期関数です。 |
引数tokenは32桁の数値文字列です。即時関数化で与えられます。
GetData(token)の使用例。Rice:jsexecutorで設定された文字列を受け取ります。
1: | let stringDataFromRice = await window.cooker.external.GetData(token); |
SetData(token,object)の使用例。Rice:jsexecutorへ文字列を送ります。
1: | window.cooker.external.SetData(token,"string data to Rice."); |
Notice(token,object)の使用例。Rice:jsexecutorのNotice イベントを発火します。
1: | window.cooker.external.Notice(token,'A string data which will be passed to the Rice.'); |
window.cooker.data オブジェクト
Rice:jsexecutorで設定された文字列は、このオブジェクトにも設定されます。
1: | let stringDataFromRice = window.cooker.data; |
window.cooker.storage オブジェクト
1: | Write(token, filename, data, append) | ファイルにテキストデータを書き出します。非同期関数です。 |
2: | Read(token, filename) | ファイルからテキストデータを読み出します。非同期関数です。 |
ファイル書き出し例:
1: | window.cooker.storage.Write(token, "example.txt", "data string", true); |
第一引数 | token | 32桁の数値文字列。即時関数化で与えられます。 |
第二引数 | filename | ファイル名。 |
第三引数 | data | データ文字列。 |
第四引数 | append | 真偽値。追加=true。上書き=false。 |
第三引数にはファイル名だけを与えてください。ファイルI/OはCookerの実行ディレクトリ内のstorageサブディレクトリの直接の子ファイルに制限されています。
パスを与えた場合には、パスからファイル名だけを取り出してstorageサブディレクトリの直接の子ファイルと見なして処理します。
ファイル読み込み例:
1: | let data = await window.cooker.storage.Read(token, "example.txt"); |
第一引数 | token | 32桁の数値文字列。即時関数化で与えられます。 |
第二引数 | filename | ファイル名 |
ファイル名に注意してください。Write()と同様に制限されています。
ファイル内のデータを一括して取り出すことに注意してください。