[#42243] コミュニティと宗教の分離について — Beyond <beyond@...>

14 messages 2006/05/21

[#42267] メニューのループについて — リックス <rubyer4649@...>

りっくすです

21 messages 2006/05/27

[#42301] Re: メニューのループについて — "conundrum /" <conundrum@...>

conundrumです。

11 messages 2006/05/28

[ruby-list:42206] Re: YAML でEUC は使えないのでしょうか。

From: Tomokiyo Nomura <tnomura@...>
Date: 2006-05-06 23:25:23 UTC
List: ruby-list #42206
野村です。

岩月さんレスポンスをありがとうございました。YAML 入力データのコードが EUC
として取りこめるかどうかが、一番知りたかったことでした。これで安心して
YAMLファイルを利用することができます。

オブジェクトのデータの書き出しについては、$KCODE = "e" とすれば、inspect でも
EUC で出力してくれるようなので、リテラルオブジェクトに関しては、そのまま、
ファイルに書き出せば良さそうなのに気がつきました。Ruby のリテラルオブジェクト
の表記は => を : に変えれば、そのまま JSON になるので、自分で勝手に 
RON(Ruby Object Notation) と呼んでいます。inspect の出力をインデント表示に
して、YAMLに変換することはできると思います。

$ irb
irb(main):001:0> $KCODE = "e"
=> "e"
irb(main):002:0> a = ['本田', '山田']
=> ["本田", "山田"]
irb(main):003:0> a.inspect
=> "[\"本田\", \"山田\"]"

入力データも RON で表記してみたのですが、括弧やコンマやダブルクォートの
入力がわずらわしくて、また、バグになりやすく、YAMLでやれないのだろうかと
悩んでいたところでした。

ありがとうございました。

野村朝清 [email protected]


On Sun, 7 May 2006 00:02:59 +0900
"Hiroyuki Iwatsuki" <[email protected]> wrote:

> 岩月と申します。
> 
> Ruby 1.8.4現在、YAMLライブラリは入力データの文字コードに
> ついては一切考慮していないため、EUC-JPな文字列をそのまま
> YAMLファイルに書けば、YAML.loadによって読み出される
> 文字列の文字コードはYAMLのままです。
> 
> まとめますと、Ruby 1.8.4 現在、YAMLライブラリへの入力しては
> 文字コードは何を使ってもかまいません。逆にYAMLライブラリによる
> 出力では日本語を日本語として出力できません。
> これが仕様か不具合かどうかはYAMLライブラリのメンテナに尋ねるしか
> ないのではないかなあ、と思います。
> 

In This Thread