[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/10 00:35 / Filesize : 47 KB / Number-of Response : 216
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rubyについて Part 35



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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<47KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef