パーソナルツール

オブジェクトの文字列表現から、オブジェクトを復元する

作者: 小見 拓 最終変更 2012年01月08日 12時12分

オブジェクトの文字列表現から、オブジェクトを復元する

  • プロパティファイルを読み込んで、オブジェクトを生成する
" プロパティファイル'filename'を読み込んで、
" オブジェクトを生成するファンクション
:function! Load(filename)

    " ファイルからオブジェクトの文字列表現を読み込む
    :let l:stored = ""
    :for l:line in readfile(a:filename)
        :let l:stored .= l:line
    :endfor

    " eval()でオブジェクトを復元する
    :let l:self = eval(l:stored)
    :return l:self

:endfunction


:let filename = $HOME . "/store.properties"
:let value = Load(filename)

:echo value
"# => {'key1': 'value1', 'key2': 4, 'key3': [4, 5, 6, 7]}

:echo value.key1
"# => value1

echo value.key3
"# => [4, 5, 6, 7]
  • プロパティファイル"$HOME/store.properties"。オブジェクトを文字列表現で記述。ルートオブジェクトはリストか、ディクショナリが良い。
{ "key1":"value1", "key2":4, "key3":[ 4, 5, 6, 7 ] }
ドキュメントアクション
コメント
blog comments powered by Disqus