Skip to content

wamsoft/saveStruct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

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));


●ライセンス

ライセンスは吉里吉里本体に準拠してください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors