2

たとえば、現在、次のようなブロックを含むデータ ファイルを使用する独自のソリューションがあります。

PlayerCharacter Fighter
  Hitpoints 25
  Strength 10
  StartPosition (0, 0, 0)
  Art
    Model BigBuffGuy
    Footprint LargeFootprint
  end
  InventoryItem Sword
  InventoryItem Shield
  InventoryItem HealthPotion
end
  • 人間が編集可能 (理想的には最小限のジャンク文字で)
  • エラーに対する回復力(「もう有用なものを解析できない」スタイルのエラーが最も少ないため、ファイルの残りのすべてのデータが失われました)-もちろん、それらを識別して報告することはできます. 私の例では、唯一の完全な失敗のケースは、'end's が欠落していることです。
  • 入れ子構造のスタイル データ
  • 配列/リスト スタイル データ
  • カスタマイズ可能なファンデーションの種類
  • 速い

これらの要件を満たす/超える既知のソリューションはありますか?

4

6 に答える 6

6

Yaml は優れたソリューションであり、あなたが持っているものに非常に近いものです。それを検索します。

于 2008-09-17T21:12:11.157 に答える
1

私はYAMLの提案を支持します。編集が非常に簡単で、間違いを許し、広くサポートされています (特に動的言語の間で)。

于 2008-09-17T21:14:26.877 に答える
1

最も一般的な選択肢は次のとおりです。

  1. JSON (公式サイト) - 非常に柔軟ですが、句読点に慣れるには少し時間がかかる場合があります
  2. INI - 使い方はとても簡単ですが、データ型が少し制限されています
  3. XML - 非常に柔軟で一般的ですが、時には冗長すぎる場合があります
于 2008-09-17T21:15:38.993 に答える
0

Luaは、構文がマークアップ言語としても簡単に使用できるプログラミング言語になるように設計されているため、データ ファイルをコードのように含めることができます。World of Warcraft など、多くのコンピューター ゲームでは、その速度と使いやすさから、スクリプト作成に使用されます。ただし、もともとはエネルギー産業向けに設計および保守されているため、深刻な背景があります。

S 式を含む Scheme も非常に優れていますが、見た目が異なるデータの構文です。最後に、ほとんどの初心者レベルの開発者が知っている XML の利点を得ることができます。ANTLRなどの優れた開発スイートを使用して、明確に定義された独自の効率的なパーサーを作成することもできます。

于 2008-09-17T21:18:19.987 に答える
0

http://www.json.org/で利用可能な JSON を試すことができます。

最初は、javascript と Web で使用するために設計されました。しかし、それはかなりきれいで、多くの言語でサポートされています.

于 2008-09-17T21:16:25.250 に答える
-1

JSONをお勧めします。

  • YAML と同じように読み取り/編集可能
  • たまたま Web に使用する場合は、JavaScript オブジェクトに eval() することができます
  • おそらくYAMLと同じくらいクロスランゲージ
于 2008-09-17T21:21:07.373 に答える