- 2008/03/10 13:56
- 未分類
例えば我々の仕事で一番親しみやすい題材で考えると、
アセット管理、プロジェクト管理、レンダリング管理などで、
データを外部ファイルなど独立したものとして扱いたい場合があります。
大概の場合XMLが一番ポピュラーなんだろうと思いますが、
冗長なんじゃまいか、と思う節もあったりします。
そういう時、YAMLの名前が挙がるようです。
wikipedia先生によると、YAMLとは構造化データやオブジェクトを文字列にシリアライズ(直列化)するためのデータ形式の一種だそうです。
“YAML Ain’t Markup Language”(YAMLはマークアップ言語ではない)の略らしく、
GNUよろしく再帰的な形を取っているようです。
で、実際に書式を見てみると、すごくシンプルです。
XMLを見て冗長だなと思う部分がサックリ取り除かれている感じです。
ただしシンプルな反面、簡単に事実上エディット不可!みたいな
数字がだだならびのファイルを作れてしまう気がします。
XMLとどちらがいいかというのは、多分使う場所によると思いますが、
有効な選択肢が増えるのは歓迎したいので、いつかお世話になることがあるかもしれません。
PythonにもいくつかYAML用のモジュールがあるようなので、
思ったよりも近いうちに使うことになるかも、なんて思っています。まぁ分かりませんが。
ちなみに、現状僕が外部の設定ファイルを使う時は、
その都度簡単なパーサを書いているのですが、
毎回同じようなファイルフォーマットを使っているので、
一度モジュールとしてチャッキリ作ってしまおうかと考えています。
YAMLが気になる人は、ruby向けのページではありますが、こちら辺りが良い参考になりそうです。
また、本格的なパーサをPythonで作りたい人はlex+yaccのPython版である
PLYに挑戦してみても良いかもしれません。
- Newer: 簡易パーサ
- Older: Windowsでスタートアップスクリプト
Comments:4
- pes 2008/03/11
YAML!こんな簡単な書式のデータ形式があったんですね!
丁度、今作ってるGUIで、プリファレンスをどういう形式にして保存しようか迷ってたところなので、
すんごくタイムリーっす!!早速導入を検討してみよーっと。
- tai 2008/03/11
>pesさん
おー、そんなに大規模なツールを。
すげーです。
僕はファイルサイズが10k超えるものをあまり作りません、というか作れません 笑
頑張ってくださいーっ。- pes 2008/03/12
>taiさん
いや・・そんな大層なツールになってくれるかどうか・・まだ分かりませんw
ファイルサイズが。って話で気になって、自分の過去のものを見てみたら・・・
一番デッカイツールで、1ファイル56KBもありやがりましたww
1336行・・・二度と編集したくないっす・w・b- tai 2008/03/12
>pesさん
おーーーすげーーー
56kbなんて書いたこと無いです。本当にありがとうございました。
僕の場合、そもそもそういうものが必要にならないというのもあるのですが、多分書けないだろうなぁ、と思います。