1 名前:デフォルトの名無しさん [2009/03/28(土) 07:52:30 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 34 pc12.2ch.net/test/read.cgi/tech/1233686068/ 過去スレ・関連スレは >>2-
129 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 19:11:40 ] >>99 ファンだったってなんで過去形なの?
130 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 19:23:36 ] >>129 日本語勉強中? 「そうだったのか!それは知らなかった」 この「だった」と同じ用法だけど、ニュアンス分かる?
131 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 19:26:30 ] どうでも良い
132 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 19:29:38 ] >>129 ではないが文法的に明確な説明をたのむ
133 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 20:00:02 ] >>132 「た」は過去・完了・確認・存続の4つに分けられることになっているらしい。 「Ruby 1.9.1って安定版だったよね?」 これは確認の助動詞としての「った」だ。
134 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 20:42:36 ] なんでどこの初心者スレもバカが暴れるんだ?
135 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 20:49:12 ] >>134 そう思うのはあなたが年をとって忘れっぽくなって昔を思い出せないだけ
136 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 21:10:25 ] どうでも良い
137 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 21:19:23 ] イテレーターを習得した!
138 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 21:47:30 ] 補助呪文 効果:ほかの呪文を連続でかけられるようになる
139 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 15:05:34 ] >>126 r23208 でなかださんが当ててくれたっぽ。
140 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 13:51:42 ] ruby1.9になってからhelpがつかえなくなっています。 mona@2ch:~$ irb irb(main):001:0> help "String" NameError: undefined method `execute' for module `IRB::ExtendCommand::Help' from (eval):4:in `instance_method' from (eval):4:in `irb_help' from (irb):1 from /home/mona/app/bin/irb:12:in `<main>' irb(main):002:0>
141 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 13:58:22 ] むしろ help というのを今知った irb> help "String" TypeError: invalid subclass from /usr/lib/ruby/1.8/yaml.rb:133:in `transfer' from /usr/lib/ruby/1.8/yaml.rb:133:in `node_import' from /usr/lib/ruby/1.8/yaml.rb:133:in `load' from /usr/lib/ruby/1.8/yaml.rb:133:in `load' from /usr/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:72:in `deserialize' from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `get_class' from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `open' from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `get_class' from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `each' from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `get_class' from /usr/lib/ruby/1.8/rdoc/ri/ri_driver.rb:68:in `report_class_stuff' from /usr/lib/ruby/1.8/rdoc/ri/ri_driver.rb:104:in `get_info_for' from (eval):3:in `irb_help' from (eval):9:in `send' from (eval):9:in `help' from (irb):1 from :0irb> ぬう
142 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 17:23:58 ] help String
143 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 17:55:48 ] メールはよく読めこのやろう
144 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 18:18:07 ] それってもしかして ruby-list の鋭敏な人の話?w
145 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 10:50:38 ] 櫟本で「いちのもと」って読むのか。 「くぬぎ」かと思った。
146 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 21:03:53 ] Rack 1.0 リリース記念 sage
147 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 21:18:41 ] 今ごろ「鋭敏な人」の意味を理解した俺。
148 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 10:40:01 ] いまだに理解できてないおれに説明を。
149 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 11:13:28 ] しゃーぷ。 あとは最近のruby-listのアーカイブを参照。
150 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 22:18:00 ] 『Rubyによるデザインパターン』立ち読みしてきた ターゲットは脱初心者〜中級者ぐらいまでだろうと思われる デザインパターンの概略・Rubyの基礎から始まり、GoFの一部をRuby流に解説、 その後Ruby特有のパターンについて さすがピアソンだけあって悪くない 読んだ限りでは良解説で、変なことは書いてなかったと思う ただ、もしかしたら上級者の方は物足りないと感じるかもしれない
151 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 22:30:13 ] ピア村は昔いい本出してたけど、最近は縮小傾向だったな 久しぶりに買ってみようかな Amazonで見る限り、純粋なRubyのGoF本ってわけじゃないのだろうか
152 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 13:57:18 ] 表紙とか紙の質とかが残念だけど良書だと思う。
153 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 16:45:17 ] >>152 どういまいちなの?
154 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 16:50:37 ] >>151 Rubyで純粋なGoFって無駄多すぎじゃない?
155 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 17:03:19 ] Ruby自体が旧来言語から見たデザインパターンの塊だからな
156 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 17:13:20 ] >>154 そうなんだけど、 「GoFにそってコーディングするとこうなるけど、 Rubyの機能(Singletonとかイテレーターとか)を使うとこうなります」 みたいな感じのもいいかなと思って。 Rubyのよさもわかるし、コーティングするのはRubyだけとは限らないし。 まあGoFをやりたかったら、Javaの本でも読めと言われればそうなんだが。
157 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 17:38:40 ] そこで The Design Patterns Smalltalk Companion ですよ。 余力があれば、Ruby 向けに書き直すのもよし。
158 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:03:41 ] Rail3がどーたらこーたら www.computerworld.jp/topics/osst/144809-2.html
159 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 08:55:54 ] いつのまにか、るりまのクラスリファレンスの表示形式が変わって見やすくなってるな (旧リファレンスのような一括表示になってる) るりまチームの人お疲れ様です
160 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 13:04:17 ] if (a = foo) != nil end を if a <- foo end って書ける様にしてくれ。 イコールで代入とか全国の数学者が混乱するだろ。
161 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 13:08:13 ] は?
162 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 13:32:32 ] それより//演算子だろ
163 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 14:24:35 ] >>160 そういう文法の言語をお前が作れ
164 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 14:34:23 ] >>160 はどこかからの受け売りと予想
165 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 14:50:09 ] >>160 その記法、俺には foo が a を参照している、という状態を表しているように見え、 代入という操作を表現しているようには見えない。
166 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 14:53:45 ] 代入は a := foo でいいよもう
167 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:01:17 ] >>160 > イコールで代入とか全国の数学者が混乱するだろ。 だとしたら、この世に存在する殆ど全ての言語を作り直す必要が発生するね。 Cもそうだしネ! ここは寧ろ混乱して困っている数学者氏にご登場願いたいくらいだ。
168 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:21:59 ] 数学者は計算機を計算に使わない。
169 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:33:17 ] 数学者はRubyを計算機での計算に使わない。
170 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:34:36 ] 使うよw 四色定理の証明とか
171 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:53:04 ] 数学なんて定義を明確にして積み上げていくシロモノなんだから 数学者は、むしろ適応早いと思うんだが
172 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:20:05 ] > if (a = foo) != nil なんでこんな無駄なこと書いてるんだ?
173 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:33:14 ] >>172 自分の成功体験で「若し変数 a に foo を代入した結果が nil でないならば」と読み下せるからだろう なんでわざわざ新しい言語を覚えようと思ったのかが理解不能だ
174 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 17:04:28 ] >>172 if文ブロック内で、aがそのまま使えるからじゃね
175 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:03:11 ] いや、 if (a = foo) とか unless (a = foo).nil? とかあるじゃん? という話だと思う
176 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:28:16 ] foo が false だったら 真として扱いたいんじゃないか?
177 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:31:57 ] fooがfalseだったら偽だろ unless (a = foo).nil は気持ち悪い
178 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:33:49 ] if a == false と if a == nil を区別したいんだろ
179 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:41:31 ] >>174 と>>178 は同じやつで、最初のレスのやつだったりしてな どう見ても素人まるだし != nil == nil Rubyでこんなこと書くやつはそうそういない
180 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:42:56 ] 俺>>174 だけど違うよw
181 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:43:57 ] a.nil? はともかく、 !a.nil? は字面がなんか嫌だ
182 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:44:33 ] >>179 RubyなんてPerlとかからの移行が多いんだから、普通に一杯いるだろ
183 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:44:45 ] unlessやnil?を無理やり使ってこそ真のRubystだろうが
184 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:51:32 ] >>172 の「なんで」から始ったレスなのに、 レスした奴まで素人扱いかよw というか、その程度のことで素人認定するお前はRubyしか知らない素人なんじゃねーの?
185 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 19:12:01 ] こっちのほうが初心者スレになってきた件
186 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 20:20:11 ] if not obj.nil? then はまれに使うな
187 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:18:11 ] >>184 ソースは言葉よりはるかに雄弁 あとやたら「w」つけるやつで優秀な奴はまずいない(おれ個人の経験則だが)
188 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 22:17:42 ] 変ながんばり方だなw
189 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 01:54:17 ] unless obj.nil? != false とか。
190 名前:デフォルトの名無しさん [2009/05/14(木) 16:35:24 ] rspecで、fixture をキャッシュさせない方法はないでしょうか fixtures :product で product.yml でデータを products テーブルに投入しますが、 *_spec.rb を単発で実行するときはテストが通るけど、 rake test 等でまとめて実行するとき、Aという機能のspecファイルで :product を投入し、 次に Bという機能の specファイルで、:product というシンボル名だけど別のディレクトリにある product.yml を 投入したいのですが、名前が同じだと2回目は読んでくれないようです。 言い方を変えると、describe ごとに fixtures で入れたデータをロールバックしてほしい spec_helper.rb で config.use_transactional_fixtures = true を falseにすると、ロールバックされるようになったが、逆にテストメソッドの中で実行した insert や delete は コミットされるようになってしまった
191 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 17:00:04 ] >>190 別のディレクトリにあるproduct.ymlっていうのがよくわからない。 AとBで読み込んでるfixtureは同じじゃないのか? とりあえずfixtureを読み直してくれないという意味で捕えるけど データベースエンジンがMySQLのMyISAMだったらロールバックしない。 InnoDBだったらロールバックするよ。 fixtureを読み直したりはしてないんじゃないかね。 ロールバックよりは遅そうだし。
192 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 18:29:38 ] >>191 レスどうもありがとうございます。 > 別のディレクトリにあるproduct.ymlっていうのがよくわからない。 > AとBで読み込んでるfixtureは同じじゃないのか? たとえば Rails で二つコントローラがあって、 RAILS_ROOT/app/controllers/foo_controller.rb RAILS_ROOT/app/controllers/bar_controller.rb それぞれの spec ファイルは以下の通り。 RAILS_ROOT/spec/controllers/foo_controller_spec.rb RAILS_ROOT/spec/controllers/bar_controller_spec.rb それぞれの spec で異なるテストデータを使いたいので、以下のようにfixtureのymlファイルを配置し、 RAILS_ROOT/spec/fixtures/controllers/foo/product.yml RAILS_ROOT/spec/fixtures/controllers/bar/product.yml それぞれのスペックファイルの describe の先頭で、以下のようにやっています。 self.fixture_path = RAILS_ROOT + '/spec/fixtures/controllers/foo/' fixtures :product
193 名前:192の続き mailto:sage [2009/05/15(金) 18:30:02 ] > とりあえずfixtureを読み直してくれないという意味で捕えるけど > データベースエンジンがMySQLのMyISAMだったらロールバックしない。 > InnoDBだったらロールバックするよ。 こちらでも MySQL を使っていて、InnoDBです。 で、テストを動かす前にテーブルの中身を全て truncate した後、テストを動かして、 もう一度テーブルの中身を覗くと、fixture でいれたデータが残っている。 自分のビジネスロジックで insert したり delete したトランザクションはロールバックされるようです。 spec_helper.rb では以下のようにしています。 config.use_transactional_fixtures = true config.use_instantiated_fixtures = false 私が思うに、fixtures :product のシンボル名でキャッシュするようで、 foo_controller_spec.rb が動いた後、 bar_controller_spec.rb が動くときに、 bar_controller_spec.rb で指定した fixture :product が再読込されないようです。 だから spec コマンドで foo_controller_spec.rb や bar_controller_spec.rb を 単発で動かすときはきちんとテストが通るけど、rake spec してテストを全て実行した場合、 bar_controller_spec.rb のテストが失敗する。これを何とかしたい。 lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/fixtures.rb に reset_cache というクラスメソッドを見つけたが、*_spec.rb の中に Fixtures.reset_cache と書いてもうまくいかなかった。 みなさんは、rake spec して全部のテストを通すとき、全ての spec ファイルで 整合性がとれるような fixture のテストデータを用意しているのでしょうか?
194 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 12:36:46 ] controller の spec では mock してる。
195 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 13:06:08 ] NetBeans新バージョンってRubyサポート周りでなんか改善あった?
196 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 20:48:00 ] なんだよ、未だにsqlite3-rubyって1.9対応になってねえのかよ だせえなあ
197 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 22:18:52 ] そういやみんなはなんでPerlやPythonじゃなくてRuby使ってるの? 漏れはPerl使ってたら、研究室の先生にRubyを猛プッシュされたからなんだけど。 ちょうどPerlになんか嫌気がさしてたころだったし。
198 名前:デフォルトの名無しさん [2009/05/17(日) 22:56:32 ] Ruby Rubyしようよって上司に言われまして。 キモかったので渋々使うようになりました。
199 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 23:00:11 ] むかし(15年くらい前)はPerl使ってた。OOで書けるスクリプト言語は ないもんかなーと思いはじめた頃にPerl5が登場して、似非OOできるように なった。少し遅れてPythonを知り習得。selfのウザさとスコープの貧弱さに 面倒を感じはじめた頃にRubyがfjで発表され、飛びついた。
200 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 23:35:43 ] やっぱり上からプッシュはそこそこあるのかね。 仕事ならまあ仕方ないんだろうけど。 >>199 さんはRubyへの飛びつきはええw
201 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 23:46:01 ] 数年前に、RPGツクールに搭載されてたRGSSから飛びついたような記憶がある
202 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 00:27:11 ] >>199 とちょっと似たような感じだが、Pythonは通らなかった。 Perl4->Perl5->Ruby
203 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 19:22:37 ] RGSS という文字列を見ると○motiを思い出してしまう…。 かなり俺の心に深い傷となって残ったようだ。
204 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 11:17:20 ] 少し前に MoonW○lf の投稿を見て、ああ、と思った
205 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 13:00:33 ] 最近見ないのは鬱期なのかな。お大事に。
206 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 13:11:15 ] いや普通は「忙しい」が来るもんだと思うんだが 他にすることもあるだろうしRubyコミュニティにかまけてばかりでもなかんべ
207 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 15:34:54 ] 普通じゃないから
208 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 21:30:19 ] まつもとゆきひろ コードの世界~スーパー・プログラマになる14の掟 www.amazon.co.jp/exec/obidos/ASIN/4822234312/ この表紙Matzはどう思ったかなw
209 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 21:33:07 ] WBSに出演したときは割と普通だった
210 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 21:36:11 ] World Baseball ...Senior ?
211 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 22:03:07 ] >>208 twitter.com/yukihiro_matz/status/1834174414
212 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 23:12:31 ] >>208 よく言えば、やり手の経営立て直し屋だな
213 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 00:48:50 ] Hashのキーをタプルしたいけどできません なんでですかね?
214 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 00:51:14 ] >>213 「タプルしたい」とは? 「できない」とは? タプルという言葉はわかる。
215 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 00:58:19 ] >>213 h = {'a'=>'aaa', 'b'=>'bbb'} h.each do |t| p t #=> ['a', 'aaa'] ... end こういうこと?違うならkwsk