1 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:56:36 ] プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 ★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。 (理由:現時点では有名ライブラリやアプリが 1.9.1 に完全には対応していないためです) 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。 関連スレやURLは>>2-5 あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
129 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:29:07 ] >>127 どこが中途半端なのかわからない
130 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:31:44 ] >>129 ウィンドウを作るということに意味があると考えているのだろ
131 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:34:13 ] 少なくともGUI対応はPerlとそう変わらないレベルだと思うんだが何がそんなに劣ってるのだろう
132 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:36:37 ] rubyはGUIはどうでもいいと思ってるようです
133 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:38:33 ] ・中途半端そうなライブラリがフラットにたくさん並んでいる ・ググっても網羅的な情報がない ・スレでGUI系の質問を見かけるたびに陰気臭い人にネチョネチョとからまれている
134 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:38:36 ] >>131 言語の問題というよりは 使ってる人達の問題じゃないかな GUIを便利にしようとするモチベーションがないし そういう芽を自ら摘んでしまう独特の文化がある
135 名前:デフォルトの名無しさん [2010/03/26(金) 12:39:53 ] ウィンドウを作ることに意味はないとでも言うのか
136 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:41:03 ] そう言っている人が Ruby 界隈には多いってことだろ
137 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:44:43 ] >>135 必ずしも意味があるとは限らない 標準入力から標準出力への流れがプログラムだ この両方が保証さえされていれば、ウィンドウは必須ではない >>133 WindowsのAPIべったりだったり特定のGUIバインディング限定の話をだらだらされるからだよ Railsの話をこのスレでしないのと同程度には、GUIの話はここでは向かない Ruby on Railsは全く別物でRuby本体の機能あんま関係ないよな と RubyのGUIシステムは全く別物でRuby本体の機能あんま関係ないよな はほぼ同じ GUIのスレはこことかもあるぞ ttp://pc12.2ch.net/test/read.cgi/tech/1155031689/
138 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:46:05 ] >>137 さっそくからんでるしw
139 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:48:23 ] >>137 それて、windows限定でしょ 意味不明なスレに飛ばそうとするなよ
140 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:50:14 ] GUIの話の95%くらいはWindows限定の話だからWindows用スレで適当な気もする
141 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:53:58 ] LinuxでウィンドウアプリケーションをRuby経由のツールキットを利用して作ってて なおかつRubyの知識が初心者スレレベルという人を見つけるくらいなら宝くじに当たったほうが簡単 Linuxのツールキットが使えるような人はRubyも使い慣れてて本スレで聞きそうだと思う
142 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:56:36 ] GUIが便利なのは、直感的な操作が求められる場合と 問題が本質的にグラフィカルな場合(画像編集とか) 現状じゃRubyって感じではないような…… あれば便利なのは間違いないけど JRubyからSwingを使うアプローチとかは面白そうではある
143 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:56:51 ] > Linuxのツールキットが使えるような人はRubyも使い慣れてて本スレで聞きそうだと思う という認識でFA Rubyユーザーにとって、GUIはRubyを使い慣れたあとにGUIを司るライブラリ単体で学習して使うもの Ruby/Tkなら、Tkの使い方を勉強する Tkの勉強だから、Rubyスレは関係ない Ruby/GTKなら、GTKの使い方が必要で、やっぱりRubyスレは無関係 GUIライブラリを呼ぶような部分は、慣れたRubyユーザーなら特に質問が出るような障害にはならないと
144 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:59:32 ] こういう長文でスレが埋ま理始めると末期だな。
145 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:00:58 ] >>144 お前2ch使うの今月が初めてか
146 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:03:01 ] 自分のやり方は間違ってない主張の初心者 vs お前のやり方は間違ってるの主張の古参 という図式は毎年長期休みにたいていのスレで見られるもんだと思われ たいていの場合、前者が誤りで、後者が大人気ない
147 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:04:37 ] 今年はテンプレが増えるのかどうか生暖かく見守ってます
148 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:06:03 ] >>141 それ、俺だよ
149 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:07:40 ] 一人やけに沸点低い古参がいて毎回トラブルの元になってるんだよな 初心者スレまで来て何やってんだか
150 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:10:36 ] 初心者スレなので 「RubyでGUIなんて現状誰もやらないし、やっても中級者が趣味として嗜むレベルなんだよ」 というようなことは粘り強く啓蒙していくべきかと 勘違いしてしまう被害者は少なければ少ないほどいい Ruby初心者にもGUI言語初心者にもわかりやすいGUIバインディングや解説を作るんだという志は大層立派だが、 でもこのスレとは無関係なので完成したら改めて教えてくれ
151 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:29:15 ] 無知のくせに絡んでくるんだよなGUI否定の人は
152 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:31:35 ] そんなに頻繁に出てきてそのたびに荒れるんならGUI専用スレ作ればいいのに
153 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:32:19 ] 現代的スクリプト言語のうち 一般的なスクリプト用途とGUI用途とOS跨いだ移植に向いててそこそこ解説のある言語はPythonだけだな 「たったひとつの言語」をスクリプト言語に求めるならPythonやれ 本当はC++がいいんだが残念ながらスクリプト言語ではない
154 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:32:20 ] >>151 同感
155 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:33:04 ] CUI専用スレでも作ればw
156 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:35:08 ] 完成したら、というが そんなに素晴らしいなら、作ってみてから また来てくれ。 1. よし言語バインディングを調べて 2. 各ライブラリのラッパを書いて(これ膨大すぎるだろ) 3. ど、ドキュメントを書くぞ 大抵は1.の段階でほかの方向なり模索すると 思うんだな…(2までやるのでもかなり凄い。下手したら俺言語作るよりよほど難易度高いという…
157 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:37:59 ] >>153 それ言ってしまうとジャスト1時間前の>>126-127 に戻ってまたループに なんかGUI否定の否定派がいる雰囲気 RubyはGUIに向かない、という事実を述べることのどこがそんなに気に食わないんだ…
158 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:39:45 ] GUIプログラミングがしたかったら Windows使えってことか。
159 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:39:45 ] 質問掲示板なんかでよくあるパターンだな 質問に答えることもなく、〜〜すべきでないと言いくるめようとする
160 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:40:48 ] 何がどうGUIに向いてないんだよ 普通に使ってるわボケ
161 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:41:11 ] >>157 Rubyしか使えない人でなおかつGUIだけをやってる人がいるんだと思う 両方一気に否定されて立つ瀬がない
162 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:42:26 ] 教祖がウィンドウズ使ってないもの。 ウィンドウズの話は異端。地獄に堕ちるよw
163 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:43:31 ] 「向かない」と「できない」には天と地の差が… >>160 それがスレ相当のRuby初心者にもできるのなら是非
164 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:43:44 ] オブジェクト指向でGUIに向いてないってどんな言語だよ
165 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:45:40 ] Ruby部分とツールキット部分を分けて考えられるかどうかが境界な気がする
166 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:47:04 ] >>165 正直、puts したらアラートウィンドウがポップアップするくらいになってるべきだと思う
167 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:50:12 ] いやそんな将来がどうとか妄想がどうとかどうでもいいから 現在どうなっていて、初心者はどうすべきかだけ教えてくれ
168 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:54:26 ] >>167 自分で調べられない人が使えるほど楽ではないから、諦めた方がいいと思う。 英語にアレルギーがなくて、自分で調べられる人なら、問題無いように思う。
169 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:56:05 ] 結構いろいろGUIライブラリのRubyバインディングはある GUIライブラリ本体やRubyライブラリのインストールにつまづく初心者は潔く諦めて他の方法を探す 使い始めて分からないことはGUIライブラリ本体の勉強をすれば分かるだろう Rubyに関係ない質問が無ければここもそんなに変な空気にならんだろう
170 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:59:42 ] >>167 Ruby/○○ の ○○ の使い方を自分で勉強できるなら問題はない(TkとかQtとか、Win32APIとか) これはRubyとは無関係で、世間様一般では○○単体で使われていて、専用の参考書や解説がある ただ、GUI提供ライブラリの利用初心者には普通に難しいとは思う この部分は「Rubyは初心者にもけっこう簡単」という(実は間違った)煽り文句の適用範囲外
171 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:05:34 ] で、これらを物凄く乱暴にまとめた言葉が「RubyはGUIに向かない」「初心者はGUIやめとけ」
172 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:07:46 ] RubyでGUIを扱ってみて質問しに来る人と比べたら、GUI否定のおっさんは初心者にも及ばないカスみたいなもんだな
173 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:12:55 ] >>172 はRubyでGUIパーツ扱ったことないな
174 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:14:42 ] GTKとか、ドキュメント少なすぎ。 やっぱりウィンドウズでやるしかないのか。
175 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:18:34 ] Ruby/Tkが学習コストとできることの兼ね合い上おそらくベストと思われるが、 Ruby初心者かつTkの知識がない人にこれが理解できるとはとーてー思えん。 せめてどっちかに習熟しててくれないと発散しすぎて無駄に大変だと思う。 変に分離性が高いので、 「ここからRuby」「ここからTkを呼ぶRuby」「GUI連携はTk独自でRuby無関係」 という… Rubyに慣れてると学びやすいという説に一票、あと>>173 。
176 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:22:54 ] Ruby/Tkは「いいよもうこれ全部Tcl/Tkで書いたほうがいいよ畜生」と自棄になってTclに戻らせようとする巧妙な罠
177 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:25:45 ] Windowsでいちばん簡単なのは「HSPでGUI作ってシェル経由でRubyスクリプトを呼ぶ」だと思う昨今
178 名前:120 mailto:sage [2010/03/26(金) 14:29:32 ] ところで、お前らの結論を教えて欲しいんだけど 結局、お前らは何だかんだ言ってGUIをやったことが無いんだな
179 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 14:31:52 ] なんだまだいたの
180 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:20:58 ] エグザイルみたいなもんか
181 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:35:15 ] >>153 同感 Ruby で無理して GUI やっちゃうと 環境依存になって結局後々苦労するのが見えてる Python でやっとけばびっくりするほど簡単にどこでも動く
182 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:39:34 ] 複数の言語を使うことを厭うのは損だよね
183 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:38:13 ] てすと
184 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:09:39 ] ruby で角括弧[]が browserForm = Form.new() [browserForm].each do |f| f.Text = 'hoge' end の様に使われているコードがあるのですが、この場合は どういう意味なのでしょうか?
185 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:11:57 ] array = [browserForm] array.each 〜 を省略して、生成と同時にメソッドコールしてるだけ
186 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:16:55 ] いちおう追記 質問のために書いたコードや操作対象が複数のときに一括処理する場合に備えているならともかく このコード自体はこれでいい browserForm = Form.new() browserForm.Text = 'hoge'
187 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:10:37 ] >>185 ありがとうございます。 おっしゃる通り一括処理で使われています。 ruby の理解が浅いため何となく分かった程度ですが、 brouseForm = Form.new() brouseForm.hoge = 〜 といういくつかの処理を f.hoge という形で見やすくしている と考えれば良いのでしょうか。
188 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:19:36 ] 見やすくっていうのも間違いではないけど ループや関数(メソッド)化して同じ記述を避ける(DRY原則)のほうかな puts "a" puts "b" puts "c" ["a", "b", "c"].each {|str| puts str } 3要素1項目ぐらいだから大差ないように見えるけど これが10要素5項目ぐらいになったらバカバカしいことになる つーかローマ字やめれw
189 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:20:37 ] ローワーキャメルケースとキャピタライズメソッドのコンボの恐怖 どっちもRubyの主流から外れてるので書くときの参考にはしないように 配列に関してはオブジェクトが「入ってる」という理解でいい (余裕があるならラベル入りの箱と考えるといいんだが) 箱からいっこ取り出すよ機能のeachで入ってるオブジェクト取り出して、 そのオブジェクトのメソッドを利用してる
190 名前:デフォルトの名無しさん [2010/03/26(金) 19:31:18 ] 確かに [very_long_variable_name].each do |v| … end で他の言語でいうletみたいなことはできるけど、普通は使わんなw
191 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:56:33 ] あれ、GUI論争ってもう終わったの? (コンパイルする方法がわからなくて途方に暮れながら)
192 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 21:02:29 ] Tkのスレッド対応みたいに突っ込んだ話になるとレスがつかないのに GUI論争するのっておかしい気がするな
193 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 21:03:35 ] そもそもここで「論争」なるものをしないで欲しいので
194 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 21:10:00 ] >>192 だってRubyのGUIでスレッドの話するのめんどくさいもん ネイティブのTkのスレッドとユーザーレベルのRubyのスレッドの両方の話せんといかん
195 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 21:13:35 ] rake教えてください 前処理が必要ないソース群と必要なソース群があるときruleはどう書けばいいんでしょうか? 下の例で、Bxのために前処理のルールをrule '.src' => '.pre'と書くと前処理が不要なAxまで前処理しようとします。 XはA1.out...An.out,B1.out...Bn.outに依存し、makeX A1.out A2.out...Bn.out -o Xで作成 A1.out...An.outはA1.src...An.srcに依存し、それぞれ makeOut Ax.src -o Ax.outで作成 B1.out...Bn.outはB1.src...Bn.srcに依存し、おなじく makeOut Bx.src -o Bx.outで作成 B1.src...Bn.srcはBn.pre...Bn.preに依存し、 makeSrc Bx.pre -o Bx.srcで作成 Ax,Bxはファイルが複数あることを示すため書いているだけで、ファイル名が連番ということではありません
196 名前:デフォルトの名無しさん [2010/03/26(金) 21:32:13 ] rule '.out' => '.src' rule /B.*¥.src/ => proc {|t| t.sub('src', 'pre') }
197 名前:デフォルトの名無しさん [2010/03/26(金) 21:44:15 ] 全部がBで始まるというのもないのか。 Regexp.union(FileList['*.pre'].pathmap('%n.src')) などと工夫してみて。
198 名前:デフォルトの名無しさん [2010/03/26(金) 22:06:43 ] 正規表現使ってまで rule に固執せずに FileList['*.pre'].each do |pre| file pre.pathmap('%n.src') => pre end のほうがベタだけどすっきり。
199 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:57:10 ] >>192 春だからな、仕方がないんだよ ここの人はプログラミングした事無いのに、 そこら辺の宗教戦争が好きだから
200 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:19:01 ] まだ>>120 が粘着してるのか
201 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:19:02 ] 知らないことを答えようとするとGUI否定の人みたいなのしか出てこないことになる 知らないことは見てるだけでいい
202 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:37:34 ] Ruby/Tkの中の人があれだけがんばってるのに GUI否定とかやられるとがっかりするよな GUIスレが立ったみたいだからそっちが機能してくれればいいけど難しいか
203 名前:195 mailto:sage [2010/03/27(土) 00:42:18 ] thx 単純には書けないんですね
204 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:44:34 ] >>202 どう言葉で表現してもそもそも初心者向けではないはずなのだが、どうもそこに引っかかってる人がいる模様 初心者にもできるべきだと考える理由って何だろうね
205 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:47:08 ] >>204 彼らはGUI肯定をしているわけではないのです ほんのちょっぴり、初心者であったときのことを忘れてしまっているだけなのです ここは初心者スレなのに、自分ができるからって相手もできると思ってしまってる
206 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:55:29 ] 初心者にも優しいとか散々宣伝してきたツケが回ってきてるだけだろ 自業自得だ
207 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:08:29 ] ルビーのアンチは嘗ての初心者
208 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:15:40 ] Ruby専用GUI pc12.2ch.net/test/read.cgi/tech/1269609576/
209 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:52:19 ] RubyにGUIは向いてないとか言って馬鹿にされたから、今度は初心者がどうのこうのって もうアホすぎて死んで欲しいわ
210 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:52:54 ] Linuxだからruby-gnome2で満足してるけど、 ruby-gnome2と呼べばいいのかruby-gtk2と呼べばいいのか悩むことはある
211 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 02:06:10 ] >>205 Rubyコミュニティそのままだな
212 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 04:00:11 ] 教祖がウィンドウズ使ってないからね。 信者もウィンドウズ使わずに過ごせばいいとしか思ってない。 ルビー使いたければ、教祖と同じデビアン使えば患部も目指せるかもよ。 pc11.2ch.net/test/read.cgi/linux/1267107714/ Debian GNU/Linux スレッド Ver. 63 pc11.2ch.net/test/read.cgi/linux/1154631461/ Debian原理主義者テラモエス pc11.2ch.net/test/read.cgi/linux/1162356771/ Debian原理主義者ペタキモス pc11.2ch.net/test/read.cgi/linux/1178083456/ 【ubuntu】Debianは終わった?【knoppix】 pc11.2ch.net/test/read.cgi/linux/1237256190/ Debian-Liveに決めました
213 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:53:31 ] Apollo ってなに?
214 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:55:02 ] 過去の過ち
215 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:07:11 ] 黒歴史になってんの?
216 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:13:04 ] ビッグ・ボンバーズみたいなもんだ 5年遅かったスペシャルマンと5年早かったカナディアンマンのコンビ
217 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:24:16 ] あれはRubyもいいけどDelphiもね!というキャンペーンの一環だった気がする Delphiは言語自体はよかったんだけどねえ 過去形で話さなければならないのがつらい所 黒歴史ではない ただの過去の遺物 Delphiのコンポーネントの知識があるなら選択肢になるかと思う
218 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:11:47 ] >>208 いきなりクソスレ ワロタ
219 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:47:11 ] class C def a … end def b a.scan(re) end def re /…/ end end というのを rspec とかでテストしたいです a メソッド(と re メソッド)に依存してる b メソッドのテストはどうすればいいですか? a がいくつかの値をとる場合の b のテストを書きたいです b のテストで必要になるような値を a に返させるような初期値を与えるべきですか? それとも全メソッド引数で渡すようにするべきですか?
220 名前:デフォルトの名無しさん [2010/03/27(土) 15:04:59 ] c = C.new c.stub!(:a).and_return('ほげふが') c.stub!(:re).and_return(/ふが/) c.b.should ...
221 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 17:58:47 ] >>205 オタクの悪いところだよなぁ 俺はわかるから、分からないお前らがだめなんだよ みたいな クソ根性論だよ
222 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:02:32 ] >>221 誰もそんなこと言ってない気がするんだが。
223 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:45:29 ] ちょっと聞きたいんだけど、 >>[1, 2, 3].each do |i| >> puts i >>end >>[1,2, 3].each { |i| puts i } この二つを実行すると同じ結果が出てくるけど 書き方が違うだけ(『do〜end』が『{〜}』になった)って事でいいのかい?
224 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:50:36 ] >>223 そこに疑問持つくらいならまとまった解説をきちんと読んどいたほうがいいぞ ちなみに回答はYES do … end は { … } のブロックに置き換えることができる 全く似ていないものに begin … end があるがこれは置き換えができない { … } は Hash リテラルを記述するのにも使用されるがこれを end つき構文に置き換えることもできない
225 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:55:35 ] >>224 うn、ありがとう&ごめん 本とか買わずにリファレンスだけ読んでて、唐突に.each doとか出てきて 『each』と『each do』って二つあんのか!ってびっくりしてしまってな
226 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:01:57 ] do で始まって end で終わるものだけだな end で終わるならなんでもカーリーブレースで置き換えられると思ってしまう人が結構いるので注意 どちらかというと do の存在のほうに注目してほしいんだが、なぜか end にばかり目が行く模様
227 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:21:11 ] Runnable.new { public void run(){ //適当な内容 }} javaではこのようにクラスをオーバーライドすることができますが、 Rubyでこのような事をやるにはどうすればいいんですか?
228 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:33:09 ] Rubyではクラスのオーバーライドはないと思う ただの定数にクラス定義(とメソッド定義)が入ってるだけだから、 継承するだけで別のクラスオブジェクトになれるはず 元クラスの動作を変更せずに安全にメソッド追加したいだけなら クラスを継承してからクラス定義を再オープンしてdef追加するかオブジェクトにextendでいいんじゃね
229 名前:227 mailto:sage [2010/03/27(土) 20:42:46 ] >>228 1つのメソッドをオーバーライドできればいいんです しかも、そのクラスは1回しかインスタンス化しません なのでわざわざ、面倒なことはしたくないんです