wamsoft/saveStruct
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Title: saveStruct Plugin
Author: わたなべごう, miahmie
●これはなに?
Array/Dictionary の saveStruct の処理を、
Unicode ではなく、現在のコードページまたはUTF-8 で出力可能にするものです
toStructStringで結果を文字列で取得することもできます
●使用方法
manual.tjs 参照
新たに整形用オプション値が追加されました。
・ssoIndent : 辞書・配列の階層をインデントでわかりやすく出力します
・ssoConst : 辞書・配列に(const)をつけて出力します
・ssoSort : 辞書のキーをソートして出力します
・ssoHidden : 隠しメンバも出力します
過去バージョンの互換のため(Scripts.toStructStringを除き)
ssoConst/ssoIndentはデフォルトでは指定されませんので注意してください。
ssoHiddenは隠しメンバも取得するようになりますが、隠しメンバの機能自体、
simplebinderを使った一部のプラグイン等でしか使用されていないようです。
(用途としては殆ど使い道がないかと思われます)
●その他
{Array/Dictionary}.toStructStringのnewlineオプションの
デフォルト値が変更されています。(\r\n ⇒ \n)
直後にsplitなどで行分割処理を行っている場合は
動作互換に影響がでますので注意してください。
Array/Dictionary の saveStructと違い、
辞書/配列以外のオブジェクトの内容も保存対象になります。
(EnumMembersに対応してないオブジェクトは保存できません)
ただし、結果の内容は常に辞書として記入されるため、
関数やプロパティ等も%[]として保存されることになります。
例えば
(Dictionary.saveStruct2 incontextof global)("global.tjs",,, ssoIndent|ssoSort);
とすると、globalからのオブジェクトツリーを見ることができます。
(Arrayクラスだけは例外的に[]で保存されてしまいますが仕様です)
Scripts.toStructStringでオブジェクト以外のプリミティブな値も文字列化できます。
(文字列を渡すと""で囲まれてエスケープされたものが返ります)
こちらのメソッドはoptionのデフォルト値が
Array/Dictioanaryのそれと違うので注意してください。
使用例:Debug.message("any_variables="+Scripts.toStructString(any_variables));
●ライセンス
ライセンスは吉里吉里本体に準拠してください。