6

Rebol2用のJSONエンコーダー/デコーダーを作成しました。私はそれをRebol3用に書き直しており、コーデックとしてRebol3で利用できるようにしたいと思っています。

load %data.json
save %data.json object
decode 'json to-binary {["some","json"]}

これについてはどうすればよいですか?

質問の時点では、この主題に関する文書はほとんどありません。

4

4 に答える 4

5

簡単な答えはあなたができないということです。その理由については、いくつかの答えがあります。

  1. 現在のコーデックモデルは文書化されていません。現在、コーデックの書き方を知っているのはカールだけです。誰かがソースを見てそれを理解できるかもしれませんが、まだ誰もしていません。
  2. 現在のコーデック関数は、ここで必要なものを作成するのに十分な柔軟性がありません。デコーダーを作成することはできますが、encode画像、バイナリ、または文字列のみを取得するため、エンコーダーを作成することはできません。たぶん、デコーダーを持っているだけで十分です。
  3. 現在のモデルでは、ネイティブコーデックのみがサポートされています。Rebolコードでコーデックを記述することはできません。また、パーサーの場合は、を使用できないことを意味しますparse。パーサーのネイティブコードバージョンはありますか?
  4. 現在のコーデックモデルは、最終的に使用したいコーデックモデルのプレースホルダーです。これが、十分に文書化されていない理由です。最終的には、インクリメンタルなエンコード/デコード、ファイルや他のポートから直接読み取ることができるコーデック、およびRebolコーデックをサポートしたいと考えています。しかし、私たちはまだ最終的なモデルを決定しておらず、最初の批判を超えて、それがどのように設計されるかについての議論さえ始めていません。

今、あなたの質問に対するより良い答えがあったらいいのにと思います。

于 2013-01-31T19:52:53.187 に答える
4

コーデックは、非常に未完成の状態のimoでした。私はある種のストリーミングメカニズムが必要であると提案しました。IIRCCarlはその必要性を理解しましたが、解決策は決して概説されていませんでした。タスクの同上-現在の「実装」は、CarlがR3タスクに対して想定したものとはかけ離れています...

于 2013-02-20T10:35:40.583 に答える
2

ツールがあります。これを読んでください:http://rebol2.blogspot.it/2012/12/json.html

そしてこれ: http: //www.rebol.com/article/0522.html

ただし、jsonはデータを処理するための複雑な方法ですが、私の謙虚な意見では、rebolブロックは完璧です。

于 2013-02-01T10:49:41.703 に答える
0

システム/カタログ/コーデックがRebol3から削除されていることに気づきました。そのため、この機能は2009年3月31日以降に削除されたと思います。

>> ? system/catalog
SYSTEM/CATALOG is an object of value:
 datatypes       block!    length: 56
 actions         block!    length: 56
 natives         block!    length: 159
 errors          object!   [Throw Note Syntax Script Math Access Command...
 reflectors      block!    length: 6
 boot-flags      block!    length: 18
于 2013-02-20T10:23:52.520 に答える