Ruby 初心者スレッド Part 44at TECH
Ruby 初心者スレッド Part 44 - 暇つぶし2ch777:デフォルトの名無しさん
11/07/08 14:42:51.09
>>774
標準には無い
「バックスラッシュなんとか」を正規表現でgsubして\nなら"\n"にして\hexhexならpackしてという手作業が
なんか誰か作ってそうだけど

778:デフォルトの名無しさん
11/07/08 15:01:23.41
>>767
仮にfoo:barがdc:creatorであればrss.channel.dc_creatorでアクセスできる
都合が悪くなければRSSのURL晒すとレスがつきやすいと思うよ

779:774
11/07/08 15:51:46.75
>>776

string.dumpの逆がやりたいんですが、なんて表現したらよかったんですかね


>>777

やっぱりないんですか
用途的には需要ありそうですが。。。
ちょっと考えます


780:デフォルトの名無しさん
11/07/08 16:11:24.88
>>762>>764>>773
ありがとうございます。無事配列に収めることができました。

781:デフォルトの名無しさん
11/07/08 16:39:50.92
立て続けに質問すいません。
>>754の改行\nの記号を消して配列に収めたいのですが
どうすればよいでしょうか?
str = File.open('a.txt', 'rb'){|f| f.read}
str.delete("\n")
arr = str.split
p arr



str =File.read("a.txt").split(/\r?\n/)
str.delete("\n")
p str

などやってみましたが
["\"aaa\\n\"", "\"bbb\\n\"", "\"ccc\\n\""]
となります。
["aaa","bbb","ccc" ]こんな感じにしたいです。

782:デフォルトの名無しさん
11/07/08 16:50:31.82
うむ、ほぼ全員がファイル内容を勘違いしてるな
すべての行がダブルクォートで囲まれて、改行などがバックスラッシュ記法されてるという変なファイルだ

ということで、

str = File.open('a.txt', 'rb'){|f| f.read}
arr = str.scan(/^"(.+?)\\n"$/).flatten
p arr

でどっすか

783:デフォルトの名無しさん
11/07/08 17:02:06.29
直列化するときにファイルにpで出力してるってことか

>>781
ファイルに保存するときに
printやputsで吐くようにしたら楽になれるかも

784:デフォルトの名無しさん
11/07/08 17:08:57.80
>>783
改行の復元で泣きそうだが…

改行文字を「絶対含まれない文字列」に置き換えればいいんだけど、それができるならここで悩まないと思う

785:デフォルトの名無しさん
11/07/08 17:35:19.29
>>782
ありがとうございます。
出力結果は[ ]になりダメでしたが、scanで、\n以外を配列にしてflattenで
配列を平滑化するというやり方勉強になリました。
>>783>>784
ファイルに吐き出す段階も見直してみます。ありがとうございます。

786:デフォルトの名無しさん
11/07/08 17:47:54.73
そりゃただの正規表現のマッチングだからな
実際の文字列がどうなってるかなんてわからんのだし、自力で正規表現書くしかない

787:デフォルトの名無しさん
11/07/08 21:07:05.45
f.readってオンメモリなのか。2gb超のファイル読ませたらosごと堕ちたからなんだこれ?と思ってたw

788:デフォルトの名無しさん
11/07/09 02:36:59.47
ヒアドキュメントで末尾に改行が付くのを回避するには、

<<HEREDOC.chomp
Hello,
World.
HEREDOC

と書くしかないのでしょうか。

789:デフォルトの名無しさん
11/07/09 02:45:24.58
特異メソッドの一覧を取得するメソッドはありますか?

class << obj
instance_methods
end
このように特異クラスをオープンすれば可能なのですが、
objに対して直接メッセージを送って取得したいのです。

790:デフォルトの名無しさん
11/07/09 06:24:10.04
>>788
はい
まあヒアドキュメントってそんなもんだと思うので仕方ないかと
テスト書くときにめんどいっすな

>>789
特異クラスという言葉は使わないほうが紛らわしくなくていいと思う
Ruby 内部ではぜんぜん特別扱いされてないし

というわけで特別扱いされてるシングルトンメソッド一覧を singleton_methods ではりきってどうぞ

791:デフォルトの名無しさん
11/07/09 07:04:19.00
>>789
意図的な曲解はディベートの正当なテクニックだぞ
曲げて取られるのはお前に隙があるから

792:デフォルトの名無しさん
11/07/09 08:14:17.68
お前が消えろゴミ >>791 という罵倒は正当だな

793:デフォルトの名無しさん
11/07/09 17:10:13.70
1.8.7 の寿命を確定させようとする議論が始まったみたいだ

URLリンク(redmine.ruby-lang.org)

794:天使
11/07/09 18:04:18.24
勝手に「ゴミ」って単語使わないでください

数段上の立場にいる奴が下層の者を指すときに汚いものを見るような目で(実際に汚い)見下しながら吐く言葉であって
同レベルの「人間」同士でゴミゴミ言ってゴミゴミしていても所詮どちらもゴミゴミ
にしかみえない

795:デフォルトの名無しさん
11/07/09 18:15:30.21
名字が五味の俺はどうすれば・・・

796:デフォルトの名無しさん
11/07/09 18:16:04.07
>>793
まあ基本スレ違いだ
傾向が固まるまでは本スレとかでやってくれ

あと、そこに書いてある Windows 版の 1.9.1 と 1.9.2 が妙に遅いというのは観測的事実だ
あらゆるスクリプトを 0.2 秒で実行できるような環境だと気付けないんだけども

797:デフォルトの名無しさん
11/07/09 20:01:12.10
>>795
広恵さんとケコーンすればいい


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch