1 名前:デフォルトの名無しさん [2010/03/04(木) 11:00:57 ] プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
543 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:01:40 ] >>542 Rubyの定数は、警告 warning: already initialized constant ARGV は出るけど代入自体はできる。 あ、あと、 ARGV << 'hoge' なんてのは「定数への代入」じゃないからな。
544 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:03:05 ] $ ruby -e "ARGV=nil" -e:1: warning: already initialized constant ARGV いやきちんと定数として警告出ますが というかただの定数に過ぎない Rubyはこれを起動時から用意してるだけで、用意したあとは特別扱いをしない ただの配列を指す定数で、配列としての動作に従う 配列だから、要素を弄る限りはオブジェクトIDが同一で、定数としての適正を失わない irb> arr = [1, 2, 3] irb> arr[0] = 'one' irb> ARGV[0] = 'one'
545 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:18:43 ] 代入はできるけど、データのコンテナとして ARGV を使うのはおすすめはしない ただ、これは グローバル変数と定数を使う→ クラス変数を使う→ インスタンス変数だけを使う→ 全部引数での受け渡しにする→ 引数の数が大量になって鬱陶しいのでアクセサメソッド経由のインスタンス変数と引数の併用にする というような変遷をどうしてもみんな辿るので今はまだ気にしなくてもいいとも言える
546 名前:542 mailto:sage [2010/03/16(火) 12:25:44 ] とにかくコマンドライン引数には入れるなってことでしょ
547 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:47:18 ] def hoge= この=って何?
548 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:00:04 ] >>547 そのまんま 「hoge=」 という5文字の名前のメソッド ただ、末尾に = があるメソッド定義を Ruby は特別に扱うので、引数つきで定義しておいたほうがいい あと、foo.hoge = と = の前に空白があっても、Ruby はとりあえず foo のメソッドの中から hoge= を探す foo.set_hoge(v) とするよりも foo.hoge = v と書けたほうがなんかわかりやすくね、という理由で特別扱いされてる
549 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:07:59 ] 「プログラミングRuby 第2版 言語編」ですが、今から読むには 古すぎますか?それとも第3版が出て、絶版になる前に読んでおく べき? たのしいRuby、Well-Grounded Rubyist、初めてのRuby は読みました。
550 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:08:28 ] >>548 理解した、ありがとう
551 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:16:29 ] >>548 >「hoge=」 という5文字の名前のメソッド 通常の方法では代入文でしか呼べないから、ただのメソッドではなく演算子定義の一種と見た方がいい 一応引数無しでも定義できるけど__send__使わないと引数なしでは呼べない
552 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:17:42 ] >>551 Rubyの演算子はメソッドですよ
553 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:24:32 ] Rubyのユーザーは学生と暇人が多いのか? C/C++のスレには全然書き込みが無いんだけど Rubyは簡単だから、学生に人気があるのかな
554 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:29:41 ] 最近質問が多いね、春休みなんじゃないの? まあ俺も春休みだけど。。
555 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:30:46 ] 去年からずっとやすm
556 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:31:17 ] 仕事探せ
557 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:32:16 ] >>555 勝った!
558 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:33:11 ] >>557 お前は必死に仕事探せ
559 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:35:25 ] 学生と暇人とニートがいないとプログラミング言語は成長致しませぬゆえ
560 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:37:43 ] 学生と暇人なんて放っておいても沸いてくるんだから 無職連中はとりあえず生活基盤作れ
561 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:39:35 ] 暇な香具師を無料で奉仕させてこそオープンソースだしな。
562 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:18:15 ] >>549 初めてのRuby(yugui本)を読んで自分のものと出来たのなら 好きに進んでいいよ。
563 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:43:10 ] Rubyはいつになったら仕様が固定されるの? 安心して使えない
564 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:48:04 ] 1.8 は少なくともあと5年は使えるな。
565 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:06:10 ] >>562 レスどうも。 ツール作りでもしてみます。
566 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:08:40 ] 本の内容が新しいかどうかという話なら、新しくはない 1.8.7の1.9新機能入りプログラミングができないというのはなんとも歯痒い が、それはWebの情報でアップデートできる程度なので問題はなさそうかも むしろ最初からこれ教えたら混乱しそう
567 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 16:19:22 ] >>563 固定化されることはないと思う
568 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 16:22:33 ] >>563 はそもそも使わないからどうでもいい
569 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:52:28 ] ちなみに今から使い始めるならどのバージョンがお勧めなんだ
570 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:58:53 ] >>569 はテンプレも読まないからどうでもいい
571 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 18:58:54 ] 始めるだけなら 1.8.7 の最新だと思うが、 最新(p249)はString#inspectで最後の多バイト文字が文字化けするという デバッグや実験中に微妙にイラッとするバグがある。 気になるなら p174 で。 1.9系は夏に1.9.2が出るのでそのときまた判断だな。
572 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:16:27 ] やっと1.9sp2が出るのか。
573 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:18:21 ] それはまだ 1.9正式が出ただけ sp1が今度出る
574 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:22:45 ] >>571 $KCODE を設定した上で p で日本語を表示しようとした場合に最後の文字がバイト列のままになる だ p で日本語を表示しようとさえしなければ問題はないし、俺は表示しようと思ったこともない というかむしろ p を使うような事態のときは1.9でもデフォルトでバイト列表示しろやわかりにくいわぼけー どういう日本語を普段扱ってるかで違うんだろうな、このへん
575 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:25:49 ] p の意義からしてエンコーディングを考慮するほうが正当 ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが
576 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:34:14 ] オブジェクトを機能拡張するためにモジュールで拡張したんだけど さらに状態の保持が必要な機能追加がしたくなった モジュールへの修正じゃ対応できないの?
577 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:35:16 ] require 'Hoge' include Hoge なんで、requireにはシングルクォートを付けないと怒られるのに includeには付けなくても怒られないの? たまたま、そうなっただけなのかな〜
578 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:41:28 ] >>577 require は基本的にはファイルパス 実際のファイルの大文字小文字が考慮される (が、あまりにも面倒なのでファイル名の時点で小文字だけにしようという取り決めがある) include の引数はモジュール名、つまり定数
579 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:44:08 ] >>576 すれば include はするたびにその順番に機能する
580 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:44:15 ] require 'Hoge' は主ファイル名だからじゃね?
581 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:46:41 ] >>578-580 ありがとう
582 名前:576 mailto:sage [2010/03/16(火) 19:47:24 ] >>579 (and all) どうすれば状態を保持できますか?
583 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:51:32 ] 状態って何
584 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:52:35 ] >>577 requireも単なる関数的メソッドとして実装されているのも理由の一つ Hogeというキーワードはrequireの実行を終える前には当然定義されていないし 予約語でもないから、リテラルを使うしか渡す方法(requireメソッドを実行する方法)がない 「Hogeをrequireしろ」「Hogeってなんだ?」 「Hogeを読めばわかる」「だからそのHogeって何だよ」 NameError: uninitialized constant Hoge Symbolでもよさそうだけどそのへんは>>578 なんだろう
585 名前:576 mailto:sage [2010/03/16(火) 20:01:14 ] もともとのオブジェクト以外に追加の情報を保持したいんですが たとえば配列クラスに最大値を保持するなど
586 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:22:21 ] >>585 エスパー発揮で obj = [1,2,3] obj.instance_eval{ @mymax = self.max } obj.define_singleton_method(:mymax){ @mymax } p obj.mymax なんか頭の悪そうなコードですまん
587 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:25:30 ] >>585 本当にしたいことを書いたほうがいいと思う include ではクラスにもともとあるメソッドを上書きすることができる でも、おそらくはそれが解決方法ではないと思われ 組み込みや標準添付のクラスを拡張することは好ましいこととは考えられてない(オープンクラスのくせに) 自分でクラスを作ってインスタンス変数とかにオブジェクトを保持するほうがいい オブジェクトの操作は自作のクラスのメソッド経由で行う class HogeData def initialize(a) raise ArgumentError, 'must be Array' unless a.kind_of?(Array) @hogedata = a end def <<(e) return if @hogedata.size > 2 @hogedata << e end def data; @hogedata; end end irb> hoge = HogeData.new([1,2]) irb> p hoge.data [1, 2] irb> hoge << 3 irb> p hoge.data [1, 2, 3] irb> hoge << 4 irb> p hoge.data [1, 2, 3]
588 名前:576 mailto:sage [2010/03/16(火) 21:18:59 ] では言い直します。 自分で書いたクラスのオブジェクトに追加の情報を持たせるには、 継承したり別のクラスに包含すれば可能だけど、すでにModuleで拡張しているので そこはできるだけ触らずにModuleに少し書き足す程度で実現できないか? Module内でインスタンス変数的な情報を保持する何かを定義できないか?
589 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:34:12 ] >>588 よくわからんけどこれでダメ? ダメならどうダメかをコードとして提示してくれると他の案を言えるかも module M end class C include M def foo @foo end end module M def bar @foo = :bar end end obj = C.new obj.bar p obj.foo #=> :bar
590 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:53:46 ] >>586 Moduleの使い方・考え方が間違ってるような気がするなあ あるクラスがModuleをincludeした時点でそのクラスのインスタンスは 存在していないわけだからインスタンス変数を設定したり保持したり できないでしょ アクセサの定義ならModuleでもできるけど module M def data @data end def data=(arg) @data = arg end end class C include M end
591 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:55:33 ] 591レス目 ズレている人はレスデータの再読み込みをしてください
592 名前:576 mailto:sage [2010/03/16(火) 22:01:45 ] それだとobj.barを書かなければいけません。 質問は、Module内を書き換えるだけで、外側には一切手を加えずに@fooを初期化できるかということです。
593 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:02:14 ] なにその出来の悪いGUIのリストみたいな現象
594 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:04:28 ] module内でinitialize書き直したら?
595 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:08:09 ] >>594 それはできない
596 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:16:53 ] ほんとにできない?
597 名前:576 mailto:sage [2010/03/16(火) 22:18:32 ] >>590 インスタンスが作成された時点でincludeされたmoduleを通して 何かしらinitialize的メッセージが送られるようなことは無いよねって話です あるいはC言語で言うところのスタティック変数は無いよねってことでも結構です >>594 もう試した
598 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:20:06 ] module M def self.included(klass) klass.class_eval do def initialize @foo = :bar end end end end class C def initialize @foo = :baz end attr_reader :foo include M end p C.new.foo #=> :bar
599 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:21:22 ] >>595 めんどくさい、が正解だと思う include先が継承とかしてたらsuper呼ばんといかん
600 名前:576 mailto:sage [2010/03/16(火) 22:51:09 ] >>598 すばらしい!! ありがとうございました。
601 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:02:54 ] 読み込むモジュールを変えるとinitializeが スイッチされるってのは面白いかも なんか騙されてるような気もするなあ
602 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:16:58 ] まあ、あまり性質のよいものではない
603 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:26:10 ] 複雑なマッチ条件を使いたい場合、 if /hoge/ =~ obj.str and /huga/ !~ obj.str and ... と延々と続いて見づらいのですが、スマートに書けますか?
604 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:27:24 ] >>603 メソッドにしてしまうのがひとつの手ではある 基本的には全部書くしかない
605 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:31:44 ] 自分が時々やるのは match1 = obj.str =~ /hoge/ match2 = obj.str !~ /fuga/ match3 = obj.str =~ /fuge/ if match1 and match2 and match3 body_stmt end こう。 でも条件分岐だけで10行超えるなら独立のメソッドにする
606 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 01:02:19 ] なるほど。ありがとうございます。
607 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 03:52:24 ] &&= 使った方が無駄なマッチングがないんじゃないかな。 正規表現のマッチくらいでそんなに重くなったりしないけど〜。
608 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 08:17:07 ] >>481 aptanaよりは軽いぞw そもそもRubyの文脈考慮するコード補完でまともに高速に補完できるIDEみたことない。 俺もそれは困っているし、もっとよいIDEがあればぜひ教えて欲しい。 irbとかJavaとかC#みたいにバンバン補完できればいいんだけどねー。早々簡単にできないのわかってていってるけどw テキストエディタレベルの単語補完ならばNetBeansでも高速できる(デフォだとたしかCtrl+K)。
609 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 08:43:03 ] 現在の単語に続く語を見つけるだけならEmacsでも超高速でできるぞ
610 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:03:06 ] >>482 > ttp://d.hatena.ne.jp/kitamomonga/20100202/ruby_watir_crash_with_autoitx3 複数引数のsystemを使うべきところだな。 クォートだとなんだの気にする必要がなくなる。
611 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:33:26 ] >>609 もちろん、vimでもxyzzyでも単語の補完はできるけど、>>481 はそういうこといってるんじゃないんだろうし インテリセンスみたいなやつだろ
612 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:52:28 ] >>575 > ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが これは 1.9.2 の改善点の一つ
613 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:07:47 ] 実行しているスクリプトが置かれているディレクトリを調べる方法を教えてください
614 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:10:40 ] __FILE__
615 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:12:36 ] File.dirname($0)
616 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:19:01 ] Dir.pwd
617 名前:613 mailto:sage [2010/03/17(水) 11:25:40 ] 絶対パスで欲しいんですが
618 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:27:05 ] expand_path … は内部で呼ばれてるからいらないんだっけか
619 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:31:17 ] ああ、やっぱいるよな >>617 :~$ cat a.rb p File.dirname(__FILE__) p File.dirname(File.expand_path(__FILE__)) :~$ ruby a.rb "." "/home/ore" :~$ ruby /home/ore/a.rb "/home/ore" "/home/ore"
620 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:38:49 ] >>481 >>608 NetBeansの文脈依存補完ってどのレベルまで補完してくれるの? 変数の参照先オブジェクト(のクラス)を推測したり メソッドチェーンの返り値を推測して 続きのメソッド名を補完できたりする?
621 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:40:27 ] >>618 だいぶ前にあったのは expand_path の基点となる第2引数が自動で dirname されてるという話だと思った dirname の中で expand_path が使われるということはないように見える
622 名前:613 mailto:sage [2010/03/17(水) 11:51:55 ] >>619 ありがとうございます
623 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:53:48 ] $0 と __FILE__ ってどうちがうんですか?
624 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 11:59:29 ] $0 は実行中のスクリプトのファイル名 __FILE__ はそれが書かれているファイル自身のファイル名 スクリプトファイルを実行した場合は両者が一致する。 requireなどで他のファイルから読み込まれた場合は一致しない。
625 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:09:46 ] 相談です。 ttp://www.rubylife.jp/ini/japan/index5.htmlのページにある 1 #! ruby -Ku 2 print("表示する") 3 [EDF] というプログラムをterapadで作り保存してコマンドプロンプトで実行すると、 そのページに依れば文字化けした言葉が出てくるはずなのですが、しかし test1-3.rb:2: unterminated string meets end of file test1-3.rb:2: syntax error, unexpected $end, expecting ')' と表示されます。 でも「表示する」の部分を「日本語で表示」に変えるとちゃんと文字化けします。 原因がプログラムで解決できるものなのかエディタを変えないといけないと解決できないのかも分からないので、 どうしたらよいかを教えてくれないでしょうか?
626 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:29:10 ] 俺はこのサイト(正確には「このチュートリアルサイト群」)はあまり好きではない 初期のSEOがあまりに迷惑で悪い印象が残ってしまっている はともかく >>625 あんま気にするな 表示する端末のサポートするエンコーディングと 文字列のエンコーディングが合致していないとまともに動作しない、が本質 ぶっちゃけ、日本語文字列を直接書いてしまったファイルが、-Ks などのエンコーディング指定なしで 日本語文字列を含んだRubyスクリプトとしてきちんと解釈される保証はない 「うわーまともに動いてねーよ」と納得したら次のステップに行ってよし
627 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:36:07 ] 回答ありがとうございます。納得してから気にせず先に進みたいと思います。 どうしても出費を抑えたいのでそういったサイトに頼っているのですが… 自業自得か。orz
628 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:37:44 ] 文字列変えるだけでパースエラーになったりならなかったりってのは エンコーディングの不一致とは関係ないんじゃない? 表 (SJISのダメ文字のひとつ) の位置が問題なのかな。
629 名前:デフォルトの名無しさん [2010/03/17(水) 12:41:59 ] RubyってWindows用だといろいろあるじゃないですか Linux用の場合は1つしかないのでしょうか? このへんであまり考えたくない為、もしLinuxで1つしかなのでしたらLinuxで始めたいと思います。
630 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:42:37 ] それエンコードの不一致でおきる問題ですがな
631 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:43:33 ] >>629 1.6.x 1.8.x 1.9.x いろいろある Rails のバージョンによってもさらにバリエーションがw
632 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:43:42 ] >>629 まあ動作的にはひとつとみなしてよいかと 少なくともWindowsのような面倒なことはない
633 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:44:44 ] Windows 版のどこがどう問題なのですか
634 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:46:21 ] スレでWindowsという文字を見ると不機嫌になってしまうおじちゃんからいじめを受けます
635 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:48:55 ] Windowsで使いたければPython使った方が良いんじゃない? RubyはWindowsのメンテナが不足気味。LinuxかMacで使うべき。 Rails だって Windows はサポートしてなくて、今までたまたま 動いてたけどいつの間にか動かなくなったとか聴いた。
636 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:50:04 ] ほらな
637 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:51:34 ] 漏れもそう思う RubyはWindowsと相性が悪い Pythonの方がWindowsとの親和性は高い *nixの場合はどっちでも相性が良い つまりPython>Rubyであって Rubyを選ぶ理由がないんだよなぁ
638 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:57:48 ] つまりC#最強ということですね
639 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:57:50 ] Pythonってインデントで書くから気持ち悪い
640 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:59:06 ] VBみたいな記述のRubyのが気持ち悪い
641 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:02:12 ] end ってw
642 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:04:56 ] Rubyはプログラミングと関係ない部分で手間がかかる
643 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 13:08:02 ] >>637 そんなポータビリティが常に必要か? たとえばMacOSXで動作しないバイナリを吐く言語で書く意味は何?