Ruby 初心者スレッド Part 50
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/07/29(日) 14:26:28.92質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
RoRはスレ違いよ
前スレ
Ruby 初心者スレッド Part 49
http://toro.2ch.net/test/read.cgi/tech/1336507487/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0497デフォルトの名無しさん
2012/11/06(火) 12:58:48.42lst.chunk{|n|
n == 0 ? :_separator : :num
}.map{|_, seq|
seq.inject(0, &:+)
}
end
0498デフォルトの名無しさん
2012/11/06(火) 16:32:16.03:_separatorを活用してる人をものすごくひさしぶりに見た
0499デフォルトの名無しさん
2012/11/06(火) 20:58:56.250500デフォルトの名無しさん
2012/11/06(火) 20:59:27.220501デフォルトの名無しさん
2012/11/06(火) 21:16:49.26>>494て>>490への遠回しな答えでしょ
0502デフォルトの名無しさん
2012/11/07(水) 02:00:09.49require 'win32ole'
fso = WIN32OLE.new("Scripting.FileSystemObject")
filename = fso.GetAbsolutePathName("test.xls") #フルパス名で記録
xl = WIN32OLE.new("Excel.Application")
xl.Visible = true #Excelが動くのを見えるようにする
if test(?e, filename) #filenameが存在する場合
wb = xl.Workbooks.Open(filename)
else #filenameが存在しないので新規オープン
wb = xl.Workbooks.Add()
end
ss.Range("C2").Select #左2列と上1行を固定
xl.ActiveWindow.FreezePanes = true
だと動くのにexlap.rbを利用して
require 'exlap'
require 'win32ole'
xl = Exlap.new
filename = "test.xls"
wb = xl.book_open filename # ワークブックを開く
ss = wb.first_empty_sheet # 最初の空シートを選択
ss.Name = "論文の要約一欄" # ワークシート名を設定
ss.Range("C2").Select #左2列と上1行を固定
xl.ActiveWindow.FreezePanes = true
だと最後の行でエラーでるのはなぜですか?
0503デフォルトの名無しさん
2012/11/07(水) 07:52:29.75'<a href="http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html">foo2</a>' ←HTMLの一部
>'http://www.foo2.com/index.html'
'n1 n2 n3 n4 n5' ←文字列の一部
>'n5'
みたいな結果を得たいのですがどのように書けば出来ますか?
[/<a href=".(+?)">foo2<\/a>/,1]
>http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html
[/^.+\s(.+?)$/,1]
>n2 n3 n4 n5
となってしまいます
0504デフォルトの名無しさん
2012/11/07(水) 10:16:29.74exlapだから
0505デフォルトの名無しさん
2012/11/07(水) 13:09:14.63最後の行をどう書けば動きますか?
exlapではセルの固定はできないのでしょうか
0506デフォルトの名無しさん
2012/11/07(水) 13:13:10.38exlap 使う意味なくね?
0507デフォルトの名無しさん
2012/11/07(水) 15:04:26.67このあともexlapを使うのでwin32oleを組み合わせたいのですが
まずここのエラーの理由がわからないと他のエラーも直せないのです…
0508デフォルトの名無しさん
2012/11/07(水) 21:05:03.40.*のマッチする範囲が広すぎるので、制限してやるのがポイント
""の内部で"が出現することは無いだろうから [^"]+などとしてやる
htmlsrc = '<a href="http://www.foo.com/index.html">foo</a><a href="http://www.foo2.com/index.html">foo2</a>'
p /<a\s+href="([^"]+)"\s*>\s*foo2\s*<\/a>/.match(htmlsrc)
=> #<MatchData "<a href=\"http://www.foo2.com/index.html\">foo2</a>" 1:"http://www.foo2.com/index.html">
なんでもかんでも正規表現でがんばっていた時期が私にもありました
0509デフォルトの名無しさん
2012/11/07(水) 23:08:58.75エラーメッセージもなしにエラーの理由なんて分かりません
excel持ってないからあてずっぽうだけど、
xl.objで生のExcel.Applicationオブジェクトに触れるっぽいから
exlapがラップしてないメソッド使う場合は
xl.obj.ActiveWindow.FreezePanes = true
みたいにするんじゃないか?
0510デフォルトの名無しさん
2012/11/08(木) 01:32:51.06うーん、質問の意味がわからない…
なんでいきなり
'n1 n2 n3 n4 n5' ←文字列の一部
が出てくるのか…
0511デフォルトの名無しさん
2012/11/10(土) 17:52:07.72この添字の部分はどういう意味ですか?
0512デフォルトの名無しさん
2012/11/10(土) 17:57:08.610513デフォルトの名無しさん
2012/11/10(土) 21:08:45.55具体的になイメージがわかない。
例をだして教えてください。
0514デフォルトの名無しさん
2012/11/10(土) 21:37:34.04おれは、通し番号をつくってる
たとえば、ファイルをひらいたりとじたりしてるとき、操作したファイルの通し番号
0515デフォルトの名無しさん
2012/11/10(土) 21:41:06.10必要ないものを作ったり使ったりしてはいけません
思いつかないのなら、使おうとしてはいけません
0516デフォルトの名無しさん
2012/11/10(土) 21:43:21.95Javaには、グローバル変数がない。シングルトンを利用する。
JavaのプログラムをRubyに翻訳するとき、Rubyでもシングルトンを利用できる。
グローバル変数でもできる
0517デフォルトの名無しさん
2012/11/10(土) 23:43:05.25The earthとか、ひとつしか存在しないものを定義するとき便利。そのシステム中に一定個しか出現しないものにもいい。
0518デフォルトの名無しさん
2012/11/10(土) 23:50:03.02本当に必要になったらわかるようになるから忘れろ、ってのもありだけどね
0519デフォルトの名無しさん
2012/11/11(日) 01:02:17.84素知らぬ顔をしてそのオブジェクトが帰ってくるのが、使い勝手が良い気がする。
複数の場所・タイミングで生成される可能性があるが、どこで作られたとしても、他の場所で使い回したい。みたいな。
生成がコピーによる生成を含めて、一カ所に閉じ込められるなら、要件としてシングルトンを満たしていても、採用する
必要は無いかなと思う。
0520デフォルトの名無しさん
2012/11/11(日) 01:16:34.15ファクトリの部分にキャッシュを入れて、
かつファクトリ自体が一つであることを保証しようとすると
勝手にそうなる
0521デフォルトの名無しさん
2012/11/11(日) 15:10:16.37ホイ
class Array
def arsplit(pattern)
# pattern = regexp, string or number
result = []
result << []
self.flatten.each do |elm|
if pattern === elm
result[-1] != []? result << [] : false
else
result[-1] << elm
end
end
result[-1] == []? result.pop : false
result
end
end
0522デフォルトの名無しさん
2012/11/11(日) 15:11:17.94[1,2,3,0,5,5,0,2,4,6,0].arsplit(0)
=> [[1,2,3],[5,5],[2,4,6]]
[1,2,3,0,5,5,0,2,4,6,0].arsplit(0).map{|ar| ar.inject(:+)}
=> [6,10,12]
" hoge hage hige ".split("")
=> [" ", " ", " ", "h", "o", "g", "e", " ", " ", "h", "a", "g", "e",
" ", " ", " ", " ", " ", " ", "h", "i", "g", "e", " ", " ", " "]
" hoge hage hige ".split("").arsplit(/¥s/)
=> [["h", "o", "g", "e"], ["h", "a", "g", "e"], ["h", "i", "g", "e"]]
0523デフォルトの名無しさん
2012/11/11(日) 20:17:57.170524デフォルトの名無しさん
2012/11/11(日) 21:36:16.49=> [:a, ;d, ;f]
という感じで複数の添字で引っこ抜くのできないの?
a = [:a,:b,:c,:d,:e,:f]
[a[0], a[3], a[5]]
でもいいけどマンドクセ
0525デフォルトの名無しさん
2012/11/11(日) 22:13:42.89Array#values_at
0526デフォルトの名無しさん
2012/11/11(日) 23:01:11.51values_at とか inject は知らなかった
使えそう
自分←不勉強
0527デフォルトの名無しさん
2012/11/13(火) 14:33:49.47どこかに注意点のまとめがあったはずなんだけど見つからない。
0528デフォルトの名無しさん
2012/11/13(火) 15:13:58.5810 things to be aware of in moving to Ruby 1.9
http://dablog.rubypal.com/2009/1/14/10-things-to-be-aware-of-in-moving-to-ruby-1-9
http://jp.rubyist.net/magazine/?0025-FirstStepRuby191
0529デフォルトの名無しさん
2012/11/13(火) 16:31:02.80>2行目に「# -*- coding: utf-8 -*-」(マジックコメント)を書きましょう。
1行目に
#coding: utf-8
とか書くのはダメ?
-*- は emacs 用とかじゃなくて
0530デフォルトの名無しさん
2012/11/13(火) 18:16:39.38おk
0531デフォルトの名無しさん
2012/11/13(火) 18:17:00.55すくなくともEmacsの簡便な動作には必要なものなので、それに相乗りして「なんか余計なの書いてあったから消した」を防ぐ効果が期待できる
Emacsを使ってるか、すくなくとも知っていればこの行を消すことはないはず
0532デフォルトの名無しさん
2012/11/13(火) 18:30:45.74どこで推奨されてましたっけ?
0533デフォルトの名無しさん
2012/11/13(火) 19:41:26.88これ、私も知りたい
0534デフォルトの名無しさん
2012/11/13(火) 19:46:28.22どのエンコードか指定するのはもちろん良いとして
書かなくても自動判別できるようにするべきだったのでは
0535デフォルトの名無しさん
2012/11/13(火) 19:49:48.310536デフォルトの名無しさん
2012/11/13(火) 20:35:57.671万行あるスクリプトファイルの、最後の行にだけぽつんと日本語が使われてる、とか、
EUCかシフトJISか判別不可能なオクテット列しか現れない、とか、
そういう嫌なケースがいくらも思いつく。
0537デフォルトの名無しさん
2012/11/13(火) 21:39:28.19Latinの中でどのLatinかを判別するのも出現頻度と辞書頼りで根本的に誤爆上等
文字エンコーディングは「最初にファイルを書いた人」が"絶対に知っている"はずなので、
わざわざ電気代と時間をかけて推測して当たりか外れかドキドキするよりもその人に確かな情報を教えてもらうのがコスト的にベスト
テキストファイルは本来、最低限、文字エンコーディング情報をファイル中またはファイル付随で持つべきだった
…そんな「エンコーディング形式」なんて概念が不要だった時代からの遺産だから仕方がないんだけど
0538529
2012/11/13(火) 21:40:50.28ありがと
いま自分のスクリプトをみたら
> #coding: Windows-31J
> $KCODE='s'
とか
> #coding: utf-8
> $KCODE='u'
> # あ utf8
って書いてあったんだけど、
これって移行期を考えて書いてあったのかな?
って他人に聞く話ではないなw
obj.method{ |arg| ... } の arg がブロックローカルに
なることにビビった。
とりあえず、each_with_index とか times あたりが怪しいので
全部調べた。やっぱりヤバイのあった。疲れた。_| ̄|○
0539デフォルトの名無しさん
2012/11/13(火) 22:29:56.10emacsなんていらんかったんや!
0540デフォルトの名無しさん
2012/11/13(火) 23:04:16.162.0はそれで決定なんですかね?
0541デフォルトの名無しさん
2012/11/13(火) 23:16:22.22やっぱりリテラルもあったほうがいいと思うんですけどね
%u() と %U() でUTF-8のリテラル
%b() と %B() でASCII-8BITのリテラル
みたいな
さらに贅沢を言えば、Windows用に\をエスケープしないリテラルが欲しいですな
"""ほげほげ\ほげほげ\ほげほげ\"""的なやつか、%記法で
0542デフォルトの名無しさん
2012/11/14(水) 01:28:05.21utf-8使ってる限りは変なコメント書かせずに良きに計らってくれよっていうね
0543デフォルトの名無しさん
2012/11/14(水) 12:01:20.43>…そんな「エンコーディング形式」なんて概念が不要だった時代からの遺産だから仕方がないんだけど
Appleはエロいよ
0544デフォルトの名無しさん
2012/11/14(水) 12:33:22.64if a then
p "true"
end
って書くと"true"って表示されますが
if a == true then
p "true"
end
って書くと表示されません
Rubyではifのfalseとnil以外は真になるのに撫ぜa==trueが偽になるのでしょうか?
あとifはthenを省略かけるのですが、業界的には省略するのとしないのどっちが当たり前でしょうか?
0545デフォルトの名無しさん
2012/11/14(水) 13:10:56.91要するにあんた Perl に毒され杉だよってこと
0546デフォルトの名無しさん
2012/11/14(水) 13:41:29.40あいまいな日本語はよくないぞ
0547デフォルトの名無しさん
2012/11/14(水) 13:52:04.10今は反省していない
0548デフォルトの名無しさん
2012/11/14(水) 14:06:28.19つまり、あなたはPerlの感覚にとらわれすぎているということです
0549デフォルトの名無しさん
2012/11/14(水) 14:35:35.530550デフォルトの名無しさん
2012/11/14(水) 14:50:36.890551デフォルトの名無しさん
2012/11/14(水) 16:34:00.50# coding: Windows-31J
$KCODE='s'
doc=<<'EOD'
こんにちは
世界
EOD
p doc
a.rb の出力 1.8 では
"こんにちは\n世界\n"
になっていたけど、1.9 では
"こんにちは\r\n世界\r\n"
になったりしますか?
# ブロックパラメーターの確認と修正オワタ 疲れた・・・
0552デフォルトの名無しさん
2012/11/14(水) 18:08:16.080553デフォルトの名無しさん
2012/11/14(水) 20:15:14.51それぞれの違いとかどんなものなのか知りたいのだけど資料もあまり多くはないな
0554デフォルトの名無しさん
2012/11/15(木) 08:51:04.6116進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /¥A¥d+¥z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"¥x30123456789" =~ /¥A¥d+¥z/u
=> 0
という風になります。
'¥x30123456789' =~ /¥A¥d+¥z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
¥x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0555デフォルトの名無しさん
2012/11/15(木) 08:53:12.8016進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /\A\d+\z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"\x30123456789" =~ /\A\d+\z/u
=> 0
という風になります。
'\x30123456789' =~ /\A\d+\z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
\x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0556デフォルトの名無しさん
2012/11/15(木) 08:56:09.86いいえ
>処理系や
いいえ
>ブラウザ依存
いいえ
0557デフォルトの名無しさん
2012/11/15(木) 08:56:33.08(マカーだ…)
(マカーが来たわ…)
0558デフォルトの名無しさん
2012/11/15(木) 11:32:51.710559デフォルトの名無しさん
2012/11/15(木) 12:33:39.08茨の道だからお薦めはしない
LLでやりたいってことなら
Pythonの方がWindowsと相性良い
0560デフォルトの名無しさん
2012/11/15(木) 13:10:18.990561デフォルトの名無しさん
2012/11/15(木) 16:25:01.43>日本語文字コードの変換
>【要点】
>Ruby バージョン 1.9 以降: String::encode を使う
>Ruby バージョン 1.8 以下: NKF を使う
1.9 でも、NKF を使っていてもいいんでしょ?
0562デフォルトの名無しさん
2012/11/15(木) 18:25:56.63はい
0563デフォルトの名無しさん
2012/11/15(木) 20:41:02.78サーバー chat.na1.lol.riotgames.com
ポート 5223
SSL使用
接続したあと pvp.netに認証↓
ドメイン pvp.net
ID tarou
PASS test
resource xiff
これをXMPPで送信したいんですけどRubyでやる方法教えてください
0564デフォルトの名無しさん
2012/11/15(木) 20:41:50.02これをRubyに書き直してください
じゃあ
0565デフォルトの名無しさん
2012/11/15(木) 20:49:25.270566デフォルトの名無しさん
2012/11/16(金) 08:52:30.95>>562
あざまっす処理系やブラウザには依存しない、
でOKのようですね。
>¥x30はrubyで処理するときにはもう既に展開されて0になっているのか
ここについてはご意見違うようですが。
httpの通信の部分ですよね。
0567デフォルトの名無しさん
2012/11/16(金) 09:15:29.92知ってるかもしれませんが、
ローカルでirbやったりすると
Windowsと比較にならないくらい
実行が早いっすよ。
MacBookAirはスタバでドヤ顔のためでもなく
デザイナーのためでもなく、
エンジニアのノマド開発用だとおもいます。
0568デフォルトの名無しさん
2012/11/16(金) 09:37:02.240569デフォルトの名無しさん
2012/11/16(金) 11:19:22.83Window8があまりにひどいので
次買い換えるときはMacにするかも知れない
楽しみに待っててね!
0570デフォルトの名無しさん
2012/11/16(金) 11:33:04.355年前くらいの頭で止まってるとそうなる
Windows7マシンにCUIなLinuxをVMで入れるのがコスパと使い勝手の総合で現状最強
※ コスパを入れ忘れないように願います
0571デフォルトの名無しさん
2012/11/16(金) 12:48:33.420572デフォルトの名無しさん
2012/11/16(金) 17:35:15.04hash.merge!(key: "change")
end
h = {key: "value"}
change(h)
h[:key] # => "change"
となるのに、rspecで
it do
h = {key: "value"}
change(h)
h[:key].should == "change"
end
とすると
expected: "change"
got: "value" (using ==) となってしまいます。
なにが間違っているんでしょうか。
0573デフォルトの名無しさん
2012/11/16(金) 23:00:19.56method(:change) を出力してみると分かるかもしれないけど、
RSpecが定義しているマッチャーメソッドに change がある。
expect { operation }.to change(:hoge).from(X).to(Y)
のように使う奴。
別の名前のメソッドにすれば期待通りに動く。
0574デフォルトの名無しさん
2012/11/17(土) 01:54:35.18無事動作しました!
0575デフォルトの名無しさん
2012/11/17(土) 06:10:57.410576デフォルトの名無しさん
2012/11/17(土) 18:28:26.52無料の中では、Linux良いよね。
0577デフォルトの名無しさん
2012/11/17(土) 18:37:11.81どれほど堅牢かは知らないけどRipper.sexpや
https://github.com/aarongough/treetop-sexp-parser
いっそのことLLスレにお題として持ち込んでみてほしい
0578デフォルトの名無しさん
2012/11/17(土) 18:51:06.190579デフォルトの名無しさん
2012/11/17(土) 20:56:36.01>>577は少し試してみたけど使えそう。
ってか、基本rubygemsしか探さないから気づかなかったわ。
ありが�d
0580デフォルトの名無しさん
2012/11/18(日) 04:57:48.10なんで名前空間分かれてないの?
0581デフォルトの名無しさん
2012/11/18(日) 05:02:48.19ユーザーはキーワードを事前にすべて把握「していなければならない」
これはDSL使用における不可避な義務
assertというメソッド作ったらぶっ壊れるのと同じ
0582デフォルトの名無しさん
2012/11/18(日) 19:38:46.37http://doc.ruby-lang.org/ja/1.9.3/class/Time.html
t = Time.now
p t
p t.succ
を実行するとwarning: Time#succ is obsolete; use time + 1って警告が出ます。
p t + 1と書けということなんでしょうが、succは1.9.3では非推奨なんですか?
将来のバージョンではsuccは消えるってことでしょうか?
0583デフォルトの名無しさん
2012/11/19(月) 10:20:22.30foo {|x| x == nil ? 1 : 0 }
みたいな関数呼び出しがあったとして、foo()が受け取ったブロックの中身を構文木として取り出してごにょごにょしたい。
0584デフォルトの名無しさん
2012/11/19(月) 10:56:29.330585デフォルトの名無しさん
2012/11/19(月) 14:11:23.12できないってことか。
0586デフォルトの名無しさん
2012/11/19(月) 14:15:17.750587デフォルトの名無しさん
2012/11/19(月) 19:15:08.83Rubyの標準機能ではできない。たしかRubiniusならできたような。
>>584
exerbはソースコードをパースしてるだけなんじゃないの?583がやろうとしているのはそうじゃないでしょ。
0588デフォルトの名無しさん
2012/11/20(火) 15:37:59.31$ rvm list
rvm rubies
=* ruby-1.9.3-p194 [ x86_64 ]
# => - current
# =* - current && default
# * - default
which rubyだと
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.2.0]
です。
0589デフォルトの名無しさん
2012/11/21(水) 20:49:38.11環境 ruby1.8 windows7
# 配列を作成
ary = [
[1, "aさん", "[email protected]"],
[2, "bさん", "[email protected]"],
[3, "cさん", "[email protected]"],
[4, "dさん", "[email protected]"]
]
require "CSV"
file = CSV.open("hoge.csv", "w", "\t", "\n")
ary.each { |row| file << row }
配列をタブ区切りCSV?に出力するコードに、
↓な感じでダブルクォーテーションをつけようとしたんだけどエラーが出るんです。
file = CSV.open("hoge.csv", "w", "\t", "\n", {:force_quotes=>true})
エラーメッセージ
C:/AptanaWorkspace/Hello2/array2.rb:13:in `open': wrong number of arguments (5 for 4) (ArgumentError)
from C:/AptanaWorkspace/Hello2/array2.rb:13
↓にするとダブルクォーテーションは付くんだけど、区切りの文字はないし改行もされないです
file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})
0590デフォルトの名無しさん
2012/11/21(水) 20:51:32.91file = CSV.open("hoge.csv", "w", "\t", {:force_quotes=>true})
エラーメッセージ
c:/ruby/lib/ruby/1.8/CSV.rb:492:in `index': type mismatch: Hash given (TypeError)
from c:/ruby/lib/ruby/1.8/CSV.rb:492:in `generate_body'
from c:/ruby/lib/ruby/1.8/CSV.rb:288:in `generate_row'
from c:/ruby/lib/ruby/1.8/CSV.rb:692:in `<<'
from C:/AptanaWorkspace/Hello2/array2.rb:16
from C:/AptanaWorkspace/Hello2/array2.rb:16:in `each'
from C:/AptanaWorkspace/Hello2/array2.rb:16
csv.rbを覗いてみると83行目が↓になっててパラメータを5つ渡せるように見えるのですが
最後の&blockはパラメータではないのでしょうか?
def CSV.open(path, mode, fs = nil, rs = nil, &block)
0591デフォルトの名無しさん
2012/11/21(水) 20:59:24.16&block はブロックなのでここの open の上の方のように書きます
ttp://doc.ruby-lang.org/ja/1.8.7/class/CSV.html
0592デフォルトの名無しさん
2012/11/21(水) 22:16:59.39どこを見ればいいのかわかりませんorz
{:force_quotes=>true}をどこらへんに書けばいいのでしょうか
0593デフォルトの名無しさん
2012/11/21(水) 22:49:44.821.8じゃそんなオプションないとかじゃないの?
適当にリファレンス見てみると
http://doc.ruby-lang.org/ja/1.8.7/class/CSV.html こっちはforce_quotesなんて見つからないけど
http://doc.ruby-lang.org/ja/1.9.2/class/CSV.html 1.9だと普通に書いてあるし
0594デフォルトの名無しさん
2012/11/21(水) 23:00:10.211.8にFasterCSV入れれば同じように使えるかと
0595デフォルトの名無しさん
2012/11/22(木) 00:12:46.16file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})
これだと一応ダブルクォーテーションは付いたので、対応してるのかなと思いましたが、
1.9からの機能かも知れないのですね
1.8にFasterCSV入れるか1.9でやってみます!
0596デフォルトの名無しさん
2012/11/22(木) 18:34:41.52■ このスレッドは過去ログ倉庫に格納されています