[#46340] ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない — "(株)ネットフォレスト 植田裕之" <ueda@...>

植田と申します。

10 messages 2009/09/01
[#46344] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない — arton <artonx@...> 2009/09/01

artonです。

[#46345] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない — "NARUSE, Yui" <naruse@...> 2009/09/01

成瀬です。

[ruby-list:46377] Re: ruby 1.9 でのCSVファイルの書き出しについて

From: rubikitch@...
Date: 2009-09-11 10:31:42 UTC
List: ruby-list #46377
From: Masashi Fujiwara <mail@masashi-fujiwara.net>
Subject: [ruby-list:46370] ruby 1.9 でのCSVファイルの書き出しについて
Date: Tue, 8 Sep 2009 13:17:02 +0900

るびきちです。

# 誰からも返答がないのでとりあえず手がかりだけでも…

> ---test.csv-----
> a,b,dあ,い,う
> ----------------
> という改行が挿入されない形で出力されてしまいます。

こちら(Debian GNU/Linux)では意図通りの動作をします。

# -*- coding: cp932 -*-
require 'csv'
# 確かに標準ライブラリのcsv.rbが読み込まれている
$".grep(/csv/)                  # => ["/usr/local/lib/ruby/1.9.1/csv.rb"]

CSV.open('test.csv', "w") do |writer|
  writer << ["a", "b", "d"]
  writer << ["あ", "い", "う"]
end
puts File.read('test.csv')
# >> a,b,d
# >> あ,い,う

そちらの環境で標準ライブラリ版のcsv.rbが読み込まれていますか?

> # coding: Shift_JIS

Windows上のShift_JISならば、cp932 や windows-31j を指定するのが無難です。

> ruby 1.8.7では意図通り動くので、1.9では使用方法などが変わったのでしょうか。

csv.rbなRuby 1.9で別実装に切り替わっています。
なるべく互換性を保つように設計されていますが、一部で非互換が発生します。。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
『Ruby逆引きハンドブック』 http://d.hatena.ne.jp/rubikitch/20090525/rubybook

In This Thread