1 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:26:33 ] プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 【Ruby1.9 は不安定な開発版であり初心者には全く向きません】 【最新安定版の Ruby1.8.6 の使用を強くお勧めします】 関連スレやURLは>>2-8 あたりを見てください。Ruby on Railsの質問は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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
159 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 19:47:52 ] >>158 File.dirname(file_name)
160 名前:158 mailto:sage [2008/04/19(土) 20:01:35 ] DirとかFileUtilsばかり見てました ありがとうございます
161 名前:デフォルトの名無しさん [2008/04/19(土) 20:05:51 ] ライブラリのクラスメソッドを使う場合に それを後に書く方法があれば教えてください たとえば File.dirname 'hogehoge' を 'hogehoge'.(File.dirname) みたいな形で書きたいんです
162 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:10:40 ] >>161 そうですか
163 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:15:50 ] どっかでそんな後置の言語を見た気がする 仮にRubyで実現するとしても、それを繋ぐのは . ではないだろうな
164 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:22:51 ] 気持ち悪いと思わないなら class String def dirname File.dirname(self) end end あとはpathnameというライブラリもある。
165 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:38:34 ] というか何のためにそうしたいのかによるな
166 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:08:19 ] class Object def callback(method, mypos=0, *args) args.insert mypos, self method.call *args end end p Math.sqrt(400) #=> 20.0 p 400.callback Math.method(:sqrt) #=> 20.0 p [1,2,3,4,5,6][2,3] #=> [3, 4, 5] p 3.callback([1,2,3,4,5,6].method(:[]), 1, 2) #=> [3, 4, 5] こんなもんでどうかな
167 名前:166 mailto:sage [2008/04/19(土) 21:09:58 ] 上のは >>161 宛
168 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:46:47 ] >>165 クラスとオブジェクトとメソッドの理解がまだ足りないんだと思う 気持ちはわかるが考え方が不当 欲しいのはいわば pathenize_dirname メソッドと推測 p '/usr/local/bin/ruby'.pathenize_dirname "/usr/local/bin/" メソッドの引数形式を「カッコ悪い」と感じる時期に罹るハシカみたいな病気だ
169 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:30:45 ] え、>>161 は見た目が気に入らないというだけ? 機能的な話かと思ったら、どうやら明後日を向いていたようだ。 そういうことであれば >>166 は>>161 の美意識には適うまい。
170 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:33:10 ] こんなのもありか。 class String def to_path Pathname(self) end end p '/usr/local/bin/ruby'.to_path.dirname
171 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:33:40 ] いや、pではto_strは呼ばれないな。putsで。
172 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 15:48:07 ] ERBについて教えてください。 railsのテンプレートでERBが使われてますが、 これは何かのタイミングで一度rubyのクラスに変換されてからHTMLに再び変換されるのでしょうか? 例えばJavaのJSPがJSP→サーブレット→HTMLと変換されるのと同じ流れですか?
173 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:05:58 ] >>172 <%%>の中身がそのままRubyコードとして抜き出され、 それ以外は_erbout.print ... という形に変換されてから Rubyで評価される感じです。
174 名前:172 mailto:sage [2008/04/20(日) 16:30:00 ] >>173 なるほど、jspみたいにrhtmlファイルがクラスに対応するわけではないんですね。 あまり綺麗な仕組みではないですね…。 ありがとうございました。
175 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:31:52 ] 単純に、ERBの簡単な使い方勉強するとイメージしやすいと思うよ eRubyの仕様じゃなくて、ライブラリの使い方ね
176 名前:デフォルトの名無しさん [2008/04/20(日) 17:47:33 ] mixiの「メッセージ」を送信したくて、d.hatena.ne.jp/emergent/20070321/1174472206 を参考にして、以下のように書いてみました。 基本的にeditの部分だけを変更し def edit title, content @id = "12345"#相手のid @edit_page = @agent.get('mixi.jp/send_message.pl?id= '+@id) edit_form = @edit_page.forms.name("messageForm").first edit_form['subject'] = title.toeuc edit_form['body'] = content.toeuc confirm_page = @agent.submit(edit_form) conf_form = confirm_page.forms[0] p @agent.submit(conf_form) end 以下を実行しました。 def mixi_message mdw = MixiMessage.new("hoge@hoge.com","hogehoge") mdw.login mdw.edit "テストタイトル", "テスト本文" end
177 名前:デフォルトの名無しさん [2008/04/20(日) 17:48:07 ] 結果、次のような出力になり、メッセージは送信されていませんでした。 #<WWW::Mechanize::File:0x4b03cdc @response={"connection"=>"close", "date"=>"Sun, 20 Apr 2008 08:11:37 GMT", "x-dealer"=>"034093", "content-type"=>"text/plain; c harset=euc-jp", "server"=>"Apache", "content-length"=>"0"}, @code="200", @uri=#< URI::HTTP:0x2583fc0 URL:mixi.jp/send_message.pl?id=12345>, @filename="s end_message.pl", @body=""> 送信できていない原因は何でしょうか?
178 名前:デフォルトの名無しさん [2008/04/20(日) 17:49:28 ] 結果、次のような出力になり、メッセージは送信されていませんでした。 #<WWW::Mechanize::File:0x4b03cdc @response={"connection"=>"close", "date"=>"Sun, 20 Apr 2008 08:11:37 GMT", "x-dealer"=>"034093", "content-type"=>"text/plain; c harset=euc-jp", "server"=>"Apache", "content-length"=>"0"}, @code="200", @uri=#< URI::HTTP:0x2583fc0 URL:mixi.jp/send_message.pl?id=12345>, @filename="s end_message.pl", @body=""> 送信できていない原因は何でしょうか?
179 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:16:00 ] >>176 WWW::Mechanizeは実際にサーバから送られてきたHTMLから指定された要素を抽出して実行している 素直に読むと mixi.jp/send_message.pl?id= ユーザーIDというページの結果を取得し、 <form name="messageForm"> というフォームで1番最初にあるフォーム中にある、 <input name="subject"> という、type が text か何かの入力欄に引数titleの内容を日本語EUCで入力 <input name="body"> という、type が text か何かの入力欄に引数contentの内容を日本語EUCで入力 <form name="messageForm"> のsubmit ボタンを「押して」結果のページを取得する 取得した結果の中の最初の <form> の submit ボタンを「押して」結果のページを取得する という処理なんだけど、mixiのページ構成はきちんとそのようになってるかい?
180 名前:デフォルトの名無しさん [2008/04/20(日) 18:55:48 ] 176です。お返事ありがとうございます。 p conf_form としてみたところ、出力に #<WWW::Mechanize::Form::Field:0x4ba0de8 @name="submit", @value="confirm"> があり、これは、 「確認画面」の <input type="hidden" name="submit" value="confirm"> と一致しているので、 おそらく「確認画面」までは到達していると思います。 「確認画面」では formはひとつしかなく、 <form action="send_message.pl?id=1056392" method=post> <input type="hidden" name="submit" value="confirm"> <!--略--> <input name=yes type=submit value=" 送 信 "> <!--略--> <input name=no type=submit value=" 修 正 "> </form> という構成になっており、submitが二つあるのが怪しいかなと思っているのですが、 指定のない場合は、先にある「送信」が押されると思うので、条件は満たしているような気がします。 ほかに問題となりそうな点は何でしょうか?
181 名前:デフォルトの名無しさん [2008/04/20(日) 20:37:02 ] num++ みたいな書き方が他言語とは挙動が異なるみたいなんですが これはどういう動作をしているのでしょうか?
182 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:47:58 ] そもそも ++ はないよ
183 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:48:11 ] rubyにそんな演算子は存在しない
184 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:54:38 ] >>182-183 ありがとうございました なんでないんでしょうね? 実装も単純そうなのになぁ
185 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:08:05 ] ま た か 説明するの面倒なのでぐぐってくれ インクリメントの実装自体は簡単なんだが、Rubyのほうそくが みだれる ので採用されない
186 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:12:19 ] かっちょええ説明法があればたぶん普通に採用されると思う さあ頑張って 「自分を破壊し別のオブジェクトを生み出して置き換える」 メソッドの意味を説明して説得するんだ
187 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:18:12 ] モルモン教義的に不死がタブーでないのなら Rubyでベニクラゲをモデリングしたいと言ってみる
188 名前:デフォルトの名無しさん [2008/04/21(月) 00:23:36 ] ループが正常に実行した時にのみ、ある処理を実行する というプログラムを美しく書く方法があれば教えてください。 フラグを用意し、ループを抜けてからフラグをチェックするのが 普通だと思いますが、フラグの存在が冗長な気がします 例外を使うのも、何かやりすぎのような気がします
189 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:56:43 ] do_this if array.all? {|x| ... } とかじゃなく?
190 名前:デフォルトの名無しさん [2008/04/21(月) 03:20:44 ] どこでもrescueされなかった例外を補足するには どうしたらいいですか?
191 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 03:27:37 ] rescue すればいい
192 名前:デフォルトの名無しさん [2008/04/21(月) 03:56:54 ] 全体を囲む大きなbeginブロックを書くということですか? 視認性が悪くなるので、 前もってエラーハンドラみたいなものが登録できたらいいと思うのですが・・
193 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 04:07:33 ] 基本的には処理はトップレベルにベタ書きすべきじゃないと思うから (変数はなるべくローカルスコープに入れた方がいいので)、 C などの main 関数みたいに全ての処理を囲んだ関数を作って トップレベルに記述する処理はその関数のみにしておくと良い。 そういう状態であれば、begin で囲むのもそこだけで済む。
194 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 04:18:35 ] ふーむなるほど… ありがとうございました
195 名前:デフォルトの名無しさん [2008/04/21(月) 06:16:46 ] Timeオブジェクトを引き算するとfloatが返ってきます 時間の差をあらわすオブジェクト(間隔オブジェクト?)が 返ってきて欲しいのですがどうしたらいいですか?
196 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 07:44:30 ] >>196 返って来たFloatがその間隔オブジェクト(秒.マイクロ秒) 欲しい単位が分なら (t2 - t1).to_i / 60 すればいい
197 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 10:59:01 ] >>186 代入演算子の一種として実装すればよい 例:a += 1
198 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:39:36 ] このへんを蒸し返してみたら? blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/6233?6096-6403
199 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:23:48 ] num++に問題があるというより ++numとnum++の挙動の違いをRubyの中に組み込むのに難があるという感じ?
200 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:32:18 ] succはあるんだから、前置++は構文だけの問題だね 後置は……
201 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:42:48 ] > succはあるんだから ほほう 君のRubyでは 3.succ として 3が 4になるのか?
202 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:43:01 ] 馬鹿ばっかだな 演算子で終わることに自体に問題があるんだろ
203 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:45:52 ] >>201 ああ、succはsucc!じゃないよね 吊ってきます
204 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:59:58 ] で、誰が演算子で終わることを問題にしてるの?
205 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:51:33 ] Cだと 1++ で 1 が 2 になるのか。 おもしろいな
206 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:02:31 ] 演算子で終わることの意味も分からない馬鹿がいるな
207 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:16:53 ] 演算子で終わる云々なんて、この何回もループした議論の中で出てきたっけ? そりゃ内部仕様は変えなきゃいかんだろうが、「演算子で終わったら駄目」な理由は? というか採用されても、「特殊なメソッド」以上のものにはならんと思うが
208 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:17:20 ] RubyでCGI作ってみてるのですが、system(id root)とかのコマンド結果が どうもHTTPヘッダーとして出力されてしまっているようです。 どうにか出力しない方法ってあるんでしょうか。
209 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:18:59 ] パイプ使って、標準出力/エラー出力を捨てとけ。
210 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:23:10 ] >>209 ありがとです。
211 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:48:37 ] DBIを使ってPostgresSQLと接続しようとしたのですが、上手くいきません。 環境は、 OS CentOS 5.1 64bit Postgres 8.3.1 ruby-1.8.6-p114 ruby-postgres-0.7.1 dbi-0.2.0 です 接続しようとすると`load_driver'エラーが出ます。ruby-postgresだけだと接続出来るのですが、dbiだと駄目です。 ちなみにdbiのインストールオプションはruby setup.rb config --with=dbi,dbd_pgでインストールしました。 $ irb irb(main):001:0> require "postgres" => true irb(main):002:0> PGconn.connect("localhost", 5432, "", "", "testdb","user","wassword") => #<PGconn:0x2aaaaabaceb0> irb(main):003:0> require "dbi" => true irb(main):004:0> DBI.connect("dbi:postgres:testdb:localhost", "user", "wassword") DBI::InterfaceError: Unable to load driver 'postgres' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:352:in `load_driver' from /usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:282:in `load_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:233:in `_get_full_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:219:in `connect' from (irb):4 from (eval):3 よろしくお願いします。
212 名前:デフォルトの名無しさん [2008/04/22(火) 02:42:51 ] 広くメソッドというもの自体をオーバーライドすることは出来ますか? メソッドすべてにフックを仕込んで、メッセージのやりとりを ロギングしたり、そういうことがしたいんですが
213 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:51:19 ] ttp://doc.loveruby.net/refm/api/view/method/Kernel/m/set_trace_func
214 名前:212 mailto:sage [2008/04/22(火) 03:04:54 ] >>213 こんな機能があったんですね ありがとうございました
215 名前:デフォルトの名無しさん [2008/04/22(火) 03:21:12 ] RubyWay読んでたら、Stringのeachは1.9ではなくなり、 each_lineを使うようになったと書いてありました。 今書いてるスクリプトには、ファイルからの読み込み処理等で eachが結構あります。 これは書き換えないと1.9以降では動かなくなるのでしょうか?
216 名前:デフォルトの名無しさん [2008/04/22(火) 06:46:11 ] ハッシュの存在しないキーを参照してもnilが返ってくるだけでノーエラーですが 多次元配列で存在しないキーを参照すると undefined method `[]' for nil になります 存在しなかったとしてもエラーが出ないように参照する方法を 教えて下さい
217 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 07:11:08 ] def nil.[](i) nil end
218 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 07:42:47 ] ハッシュのデフォルト値を[]にするとか
219 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:03:40 ] あ、スマンぼけてた。問題は配列のほうか。
220 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:16:16 ] 多重ハッシュでも存在しないキー指定したら undefined method `[]' for nil になるじゃん 何をしたいか明確に書けよヴォケ
221 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 10:20:15 ] >>216 配列じゃなくてハッシュを使う
222 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 11:25:06 ] 多次元配列などというものはRubyには存在しません
223 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:57:40 ] class TajigenHairetsu << Hash def [](*arg) super(arg) end def []=(*arg) super(arg[1,-1], arg.last) end
224 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:41:56 ] rubyのコマンドからファイルの有無を確認する方法は無いでしょうか? 無ければ指定したテキストファイルを作り あれば追記するような仕組みを持ちたいので
225 名前:216 mailto:sage [2008/04/22(火) 17:50:19 ] 217さんの方法でしのぐことにしました ありがとうございました >>220 ハッシュか配列かではなく nilに[]が使えないことをどうしようかという話でした
226 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:17:46 ] >>224 ファイルのことについてどうこうしたいんだからFileクラスのメソッド探してみれ
227 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:31:56 ] だからfetch(i,default)を使えと
228 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:24:49 ] 問答無用に'a'でopenすればええんとちゃうの?
229 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:04:12 ] >>228 のぞんでいたどうさができました おそらく不具合の原因は参考にしていたサイトがafile=File.new(*****) とnewを使っていたためのようです 今まで5個ほど言語を学んできましたがrubyほどシンプルで強力な言語は 無いと感じました 本当にありがとうございます!
230 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:28:45 ] >>215 動かなくなるよ。 str.each は、str.scan(/^/).each に置き換えよう。
231 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:42:21 ] IO#eachは残ってるんじゃなかったっけ?
232 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:15:01 ] class String unless method_defined?(:lines) def lines self end end end としておいて、1.8系でもstr.lines.eachと書いておくという手も…
233 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:06:52 ] irb > print "test" この結果が ttt => nil と出るんですが、これはどういう意味なんですか? irb => ttt と出力されることを期待したのですが。
234 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:09:48 ] tttはtestのつもり? irbの=>の後ろに出るのは、入力した式(print "test")を評価した値。 x= print "test" とすると x = nil になるのといっしょ。 testという文字列が書き出されるのは式の評価(値を求めること)の、まぁ副作用だ。
235 名前:233 mailto:sage [2008/04/22(火) 23:38:04 ] >>234 おぉ丁寧にありがとうございます。 入力コマンドを単純に実行するのではなく評価するだけなんですね。 てか使い道あるんでしょうかね…?
236 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:34:45 ] ないよ
237 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:37:12 ] irb > print "test" この結果が ttt => nil ^^^~~~~~~ ^:printの出力 ~:irbが返り値のインスペクションを出力 コマンドって…
238 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:43:07 ] ttt => String にはならんの?
239 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:51:04 ] たぶん出力の意味を勘違いしてるよ。 irbは「=> 返り値」を印字してるだけ。 その前のprintの出力に改行がないからそんな見た目なだけ。 もしそんな出力がされるってことは、printがStringクラスを返してるというイミフなことになるぞ。
240 名前:デフォルトの名無しさん [2008/04/23(水) 06:24:22 ] RubyのIDEでおすすめは何ですか? 今はNetBeansを使っていますが、他のファイルのクラス等が 自動補完できないのでもう少し高機能なのが欲しいと思っています
241 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:33:10 ] おすすめは無い あと1年くらいしたら便利なの出てくるぜと3年くらい前から言われてる
242 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:46:14 ] rubyらしいな
243 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:09:47 ] pythonから移ってきた人向けの入門ページとかないですか?
244 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:31:57 ] for文について質問です。 for book in book_array end このように配列を回すfor文の中でインデックスを取得することは出来ないのでしょうか?
245 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:33:59 ] Enumerable#each_with_index
246 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:53:58 ] >>245 ありがとうございます!できました。 java出身だとfor文でインデックス取れないって変な感じですね。
247 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:15:35 ] 数値計算関係はpython 日本語処理はruby という使い分けしようと思っててるんですが、うまくミックスする方法はないのでしょうか?
248 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:39:13 ] 質問が曖昧すぎて意味不明
249 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:40:43 ] >>246 for i in (0..book_array.size) p i, book_array[i] end カウンタ変数もなしにインデックスが取れるわけないだろう
250 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:37:16 ] >>249 × .. ○ ...
251 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:54:00 ] 上と下ならどっちがrubyらしいですか? if foo == "" end if foo.is_a? String && foo.empty? end
252 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:07:13 ] オブジェクトの型をチェックするコードは常用するものではない。
253 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:04:56 ] >>247 全部Python
254 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:13:04 ] てかRubyの日本語処理ってNKFべっただし PythonからRuby向けを切り出す必要があるとは思えない Pythonで書けるなら全部Pythonで書くのがベスト
255 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:18:41 ] rubyで簡単なツールを作ろうと考えております GUIを組むにはruby/tkとか色々種類があるようなのですが、 最もメジャーなのはどれでしょうか? ツールの詳細としては、チェックボックスやリストで設定項目を設定し、 それによるシミュレーション結果をメッセージボックスに文字列で 順次吐き出すだけというものです ※一応Javaも少しかじってます もし「rubyのGUIは終わってるからJavaでやれ」とかならば それはそれで結論として構いません
256 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:28:07 ] 際だって使われているGUIツールキットはないと思うが、tkは最初から 付いてくるから比較的メジャーと思われる。 自分はマカーなので、必要な場合はOSに付いてくるRubyCocoaを使う ことになると思うけど。 Javaもかじってる人ならJRubyでSwing使うというのもアリかね。
257 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:31:29 ] >>255 FXRuby
258 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:35:52 ] railsでいいじゃん
259 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:38:22 ] >>255 ttp://www.gesource.jp/programming/ruby/gui/index.html おいらはApollo派