1 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 08:39:14 ] プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
528 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:25:07 ] やべ 勘違いしてた
529 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:26:22 ] インターフェースは同じはず そこはポリモーフィズムで…
530 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:27:51 ] スレ違いだからもう終わりよ、みなさん。 いろいろと参考になりましたが。
531 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:25:51 ] 童貞きめえ 女に植えてんだなかわいそうにおまえら
532 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:29:19 ] コンピュータばかりいじりすぎて 外の世界が見えません。
533 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:06:07 ] gemをインストールしたあと使おうとすると no such file to load になるんだけど どうすれば使えるようになるの?
534 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:25:35 ] >>533 そのgemのインストール自体は正常に終わっているとすると、 require 'rubygems' require 'gemのライブラリ' で使えるようになるはずだが。(つまり、毎回rubygemsをrequireする必要がある) たとえば、ちょっとjsonの場合はこんな感じ。 $ sudo gem install json $ irb irb> require 'rubygems' irb> require 'json' irb> JSON.parse('{"num":"123456789"}') => {"num"=>"123456789"}
535 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:26:04 ] require "rubygems"
536 名前:534 mailto:sage [2010/02/15(月) 00:26:52 ] 書き途中で送信してしまった。 × たとえば、ちょっとjsonの場合はこんな感じ。 ○ たとえば、ちょっと前のレスのjsonの場合はこんな感じ。
537 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:28:56 ] webos-goodies.jp/archives/51106257.html
538 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:57:22 ] sudoをつけてなかったのが敗因だった。ありがとう
539 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 01:12:58 ] --pre とか付けると no such file to load となる すばらしいマイエンバイロンメント ruby 1.8.2、 gems 0.9 いきなり詰んだorz
540 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 01:19:53 ] ysky.vox.com/library/post/gems のオプション仕様が変わった.html あした gems 自体を update させてもう一度やってみょ 寝るべzzz
541 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 01:30:34 ] いちはちに…
542 名前:デフォルトの名無しさん [2010/02/15(月) 07:52:31 ] >>539 なんのための--preか知らんが、Rails 3βとかは1.8.7以降でないと動かんぞ。
543 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 08:05:05 ] ていうか1.8.2は5年以上前の不安定版なんだが 今更これ使うくらいなら俺はPerlをやる
544 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 08:13:11 ] Pythonは?
545 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 09:07:03 ] JSON is YAML って言っている人はいるけど、本当に上位互換になるのは 1.2 から。 で、Ruby 標準添付の syck は 1.0 なので
546 名前:デフォルトの名無しさん [2010/02/15(月) 10:19:49 ] _why行方不明だし、どうなるんだろ Syck。
547 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 10:32:31 ] どうなるもなにも、これまでの「優秀だったがサポートがなくなったライブラリ」と同様の道を辿る
548 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 10:49:22 ] 1.8用のtranscodeっぽいものってない? バイト列とエンコーディングを投げるとバイト列の適切な区切り位置を記憶してくれるライブラリみたいな
549 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 10:59:07 ] >>546 Aaron さんが互換ライブラリを開発中 >>548 Iconv じゃダメですか
550 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:04:17 ] data = Array.new data = [1, 2, [3, 4, [5]], 6] 多次元配列のデータがあります。 このデータを、次のように1次元配列に格納しなおしたいです。 p data => [1, 2, 3, 4, 5, 6] 多次元配列のデータは、今回のサンプルでは3次元ですが、 実際のデータは何次元になるかわかりません。 そのため、再帰の必要性があると思い次のようなメソッドを考えました。 def split_ary(ary) local_ary = Array.new return local_ary if ary.empty? ary.each do |a| if Array == a.class split_ary(a) else local_ary << a end end end 良く考えれば当然なのですが1次元にできません。。。 p split_ary(data) => [1, 2, [3, 4, [5]], 6] 1次元にするには、どのように改善すれば良いでしょうか。
551 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:17:25 ] [1, 2, [3, 4, [5]], 6].flatten
552 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:21:42 ] >>551 おおお!! このようなメソッドが既にあるのですね。 ありがとうございます!
553 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:34:29 ] flatten使うべきだけど、後学のために def split_ary(ary, local_ary = []) ary.each {|a| if a.kind_of? Array split_ary(a, local_ary) else local_ary << a end } local_ary end
554 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:47:28 ] >>553 丁度、ライブラリ set.rb の flatten メソッドのソースを眺めている所でした。 ・Array クラスか判定するのに、kind_of を使うこと ・local_ary を引数(の位置?)で、Array.new すること 勉強になりました。 初めは set.rb を見ても理解できなかったのですが、 私が書いたソースを改変して貰ったおかげで、理解できました。 ありがとうございました。
555 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 13:07:36 ] すごく重要なことだけど、多次元配列はRuby標準では存在しない ただの入れ子になった配列 多次元であるかのように振舞うことはない
556 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:28:12 ] irb(main):006:0> (5.6 * 10500).to_i => 58799 58800になってほしかったんですが、なぜこんな風になってしまうんでしょう?
557 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:31:43 ] www.google.co.jp/search?num=30&hl=ja&q=ruby+%E5%9B%9B%E6%8D%A8%E4%BA%94%E5%85%A5&btnG=%E6%A4%9C%E7%B4%A2&lr=
558 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:32:04 ] >>549 バイト列 unsafe_str から制御文字を取り除きたいんです んで、世の中にはたとえば iso-2022-jp のような \e を必要としてるエンコーディングもあるので、 そういう場合、「必要な制御文字」だけは残したいんです display_encoding = "ISO-2022-JP" unsafe_str = Iconv.iconv(display_encoding, "UTF-8", 'ねこだいすき').join unsafe_str #=> "\e$B$M\e(B\\000\e$B$3$@$$\e(B\\e\e$B$9$-\e(B" # \000と\eが入ってるのがやだ safe_str = kill_dangerous_ctrl_chars_on(display_encoding, unsafe_str) p safe_str #=> "\e$B$M$3$@$$$9$-\e(B" ちなみに日本語以外にも対応したいですというか日本語だけでいいなら悩みません
559 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:49:33 ] >>556 5.6を10500回足したものが、本当は58800よりもほんの少しだけ小さいから irb> (5.6 * 10500) - 58800 -7.27595761418343e-12 より正確には、2進数で表現される5.6が10進数で考える本来の5.6よりもほんの少しだけ小さいから Float#to_iは「切り捨て」を行うので、「58800よりもほんの少しだけ小さい数」の小数部を切り捨てて、58799になる これを簡易に防ぐには、>>557 の言うように四捨五入のメソッドを整数化処理として擬似的に使う 誤差が0.5を超すことは一般的用途ではまずないから irb> (5.6 * 10500).round 58800 もし本当に厳密に計算を行いたいのならbigdecimalライブラリを使う irb> require 'bigdecimal' irb> (BigDecimal.new("5.6")*BigDecimal.new("10500")).to_s "0.588E5"
560 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:59:21 ] >>559 を>>557 から読み取れというのは酷だな
561 名前:デフォルトの名無しさん [2010/02/15(月) 16:01:17 ] 「なんで期待した値にならないのか」の答えじゃなくて 「とにかく望んだ値を得る方法」だものな。
562 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 16:08:44 ] まあ、暇な人がリンクをたどって(または単に自前の知識で)説明してくれるだろうと期待して 情報のポインタだけぶん投げるというのは省労力的にはアリではある どっちかっちゃFAQに近いし
563 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 18:36:31 ] BigDecimal.を見るとなぜかマルちゃんのでかまるを思い出す
564 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 18:58:21 ] rubyがメインにしているOSって何ですか?
565 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 18:58:49 ] linux
566 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:01:12 ] どのlinuxでしょうか?
567 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:02:15 ] debian といってもubuntuやFedoraとかでもそう振る舞いは変わらないと思う
568 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:05:57 ] Linux上で適当にコンパイルされたRubyで動作させるスクリプトは、 Windows上で慎重にコンパイルされたRubyで動作させるスクリプトの倍以上の速度を誇る
569 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:06:13 ] DebianはPythonマンセーって感じだけどね。
570 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:12:46 ] debianはデスクトップにもサーバーにも使えるから使い勝手がいいんだよね うちの会社は全PCdebian
571 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:13:21 ] Rubyをシステムスクリプトに組み込むなんて狂気の沙汰だ しかもDebianのシステムを中途半端にRedHat系列に再現するとかありえん
572 名前:デフォルトの名無しさん [2010/02/15(月) 19:14:04 ] とつぜん何を。
573 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:18:29 ] >>571 mphは目指すところは悪くなかったんだよ しかしいかんせん当時のRubyの完成度安定度が低すぎた 良くも悪くもkondaraだな
574 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 01:37:19 ] cgi書いてるんだけど、CGI#out でHTMLを出力する場合、ソースを全部一度に吐き出す感じになるよね? 処理しながら少しずつHTMLを出力するにはどうしたらいいの?
575 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 02:05:35 ] ふつーに標準出力に書き出せばいいのでは
576 名前:デフォルトの名無しさん [2010/02/16(火) 02:07:58 ] あんなもんつかわずに適当にテンプレートエンジン使ったほうがいい。
577 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 02:08:26 ] >>575 なるほど。 標準出力でいいんですね。
578 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 03:40:26 ] >>547 まじか Ruby の未来は暗いな
579 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 04:13:51 ] >>574 リストに吐き出して最後に結合
580 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 07:08:05 ] Marshal.dump(obj[,port][,limit])を使って データをグローバル変数に保存したいんですけど不可能ですか?
581 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 07:31:04 ] 質問の意味がわかりかねるねるねるね
582 名前:580 mailto:sage [2010/02/16(火) 07:38:37 ] def save_bitmap file = File.open("test.txt", "wb") Marshal.dump(@data, file) file.close end これだとtest.txt内に@dataを保存しますよね? これをグローバル変数に保存したいのですが def save_bitmap file = File.open($data, "wb") Marshal.dump(@data, file) file.close end これじゃだめですか?
583 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 08:04:57 ] $dataと@dataってどうなの $data = Marshal.dump(@data) は違うの?というかこれなら $data = @data でいいじゃん
584 名前:580 mailto:sage [2010/02/16(火) 08:36:03 ] できましたありがとうございました 考えすぎていたようです
585 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 08:46:10 ] というかグローバル変数使うなかっこ悪いから トップレベルのローカル変数とメソッドの引数でデータの受け渡ししろ
586 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 08:55:45 ] ディープコピーの常套手段ってやつか
587 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 09:16:12 ] 引数と返り値で充分なやり取りだと思えるかどうかには自覚と時間が必要 ・ グローバル変数いらねえ ・ クラス変数使う必要ねえ ・ これインスタンス変数でなくてもいい と感じるにはちょっと時間が要る 他人から言われてもえーって感じでピンとこない
588 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 11:36:08 ] >>579 メモリ食いつぶした。 謝罪と賠償を(ry
589 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 14:39:42 ] 配列で指定した要素を一つだけ削除する命令ってないですか? [1,2,3,4,5,1,1,1,1,1] これの1を一つ削除して [2,3,4,5,1,1,1,1,1] にしたいんですが。delete(val)だと全部消しちゃいますよね。
590 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 14:48:27 ] >>589 それなんかやたらよく聞かれるんだが、メソッド一発でやる方法は特にない arr = ["a", "b", "c", "b", "a"] arr.delete_at(arr.index("b")) p arr ["a", "c", "b", "a"]
591 名前:589 mailto:sage [2010/02/16(火) 15:08:55 ] def delete_learn_data(delete_id) $game_system.golem_learn_data.each_with_index{ |value, i| if delete_id == value $game_system.golem_learn_data.delete_at(i) break end } end とりあえずこれでいけました。ありがとうございました。
592 名前:デフォルトの名無しさん [2010/02/17(水) 13:47:36 ] メソッドhogeの引数としてフォーマット用文字列と任意個の文字列を渡して formatで整形した文字列を作りたいんだけど hogeの引数はどんな形で渡したらいい? def hoge(引数) s = format(引数1, 引数2, 引数3・・・) end 以下のようにしたらsは1つの配列として扱われてformatに too few argumentsと言われてしまいました def hoge(f, *s) s = format(f, s) end hoge('%s %s', 'aaa', 'bbb')
593 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 13:50:15 ] format(f, *s)
594 名前:デフォルトの名無しさん [2010/02/17(水) 14:53:03 ] thx
595 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:23:25 ] Rubyやってて良かったことを教えて下さい。
596 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:37:21 ] 自分用スクリプトでPerlを使わなくて済んだ オブジェクト指向に触れてなんとなく理解した気になれた
597 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:47:09 ] railsに尽きるなぁ rails無かったら何の価値も無かった
598 名前:デフォルトの名無しさん [2010/02/17(水) 16:48:37 ] ニワカ乙
599 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:00:24 ] プッ 反論してみろよカス
600 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:34:43 ] 論に対してしか反論はありえない。
601 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:36:48 ] mechanizeとnokogiri(hpricot)はなかなかいいライブラリだとは思った あれら程手軽に使えるスクレイピングライブラリは他の言語では知らない
602 名前:デフォルトの名無しさん [2010/02/17(水) 17:46:35 ] railsを作ってしまうような香具師がrailsが存在する前から評価してた言語ってだけで十分な気がする。
603 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 19:30:01 ] でも他のスレでRubyの4文字を出すと馬鹿にされる
604 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 19:31:33 ] >>595 Javaを使わなくて済むようになった・・・まあRubyじゃなくてもいいんだけど。 >>602 なんでやねん。そんな理由がだれをどう嬉しくするのさ。
605 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:00:29 ] >>603 難解な言語技術を修得しているという自負が 平易な言語に対する無体な態度につながるんだろうか
606 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:14:05 ] >>605 Ruby厨でぐぐれ
607 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:35:35 ] Java厨の嫉妬は凄いよな。
608 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:37:40 ] ・ Rubyをちょっと齧ったばかりで興奮して他スレで煩いRuby厨 ・ 生まれてこのかたJavaしか知らない自称中級者 を混ぜると危険というかひたすら面倒
609 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:39:16 ] そろそろ隔離スレ行こうね
610 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:40:08 ] ・ Rubyには興味がないがRubyに関わった遣り取りにウンザリしてもう排除したいと思ってる人 を追加 というか本スレでやれ
611 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:41:40 ] 変態同士仲良くしろよ
612 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:14:40 ] .. (. . ) ,―ヽ__(__、― ,/ ノ ヽ ~\ / ノ IPA ヽ ~\ / ノ ヽ、 `ヽ | ノ / ̄\ / ̄~ヽ ヽ i | ノ | ノ \ | <●> <●> ( ) \ | | | i / | / ヽ レ i (●_●) / i、 ,-――-、 ・ / i、 <(EEEEE)> ∵/ IPA Rubyスレは誰でもウェルカム i、 \ ./ / \ ーー ,ノ ,,.....イ.ヽヽ、ー-―一ノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
613 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:18:26 ] >>612 いつも思うんだけど この人だれ??
614 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:21:18 ] ミスターつこうた
615 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:33:15 ] >>613 こいつにレスしたのお前だけだぞ
616 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:39:16 ] 申し訳ごめんなさい。
617 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 01:44:24 ] 絶対にゆるさない
618 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:54:41 ] StarRuby今落としたんですが この板にスレッドが無いのが気になりました。 ゲーム開発用であんまり需要無いんですか?
619 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:03:48 ] ありませんというかそもそもゲーム製作専用系は板違い 【Ruby/SDL他】Rubyでゲーム制作・総合スレッド ttp://pc11.2ch.net/test/read.cgi/gamedev/1207069887/
620 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:07:28 ] >>595 手軽に短くかっこよくツールが書けること。 あと、Rails
621 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:11:38 ] Pythonから来ました。 自分用のプログラムを書くときに、クラス定義のときに組み込みクラスを オーバーライドするのが怖いので、トップレベルにMyAppみたいな名前の モジュールを作ってから、その中にクラスを定義しているのですが、 これはRuby文化に反するのでしょうか? また、Pythonのように、組み込みクラスはすべて、Builtin::String, Builtin::Arrayみたい になってたらなあ、と思ったのですが、何故こうなっていないのでしょうか?
622 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:36:19 ] 適当なモジュールでくるむのは普通に行われているし、実質推奨になっている まあ、それ自体が被る可能性もあるが > 何故こうなっていないのでしょうか? めんどくさいから …まあ、オープンクラスっても限度あんだろ、とはみんなちょっと思ってはいる ある意味初期の見通しミスをずるずる引きずってるわけで
623 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:57:05 ] 本当のところはMatzに聞かなきゃ分からんが、 デメリットを勘案の上でオープンクラスを選択したのは間違いないわけだから 設計意図どおりだと思うけどなあ オープンクラスの影響範囲を押さえ込む名前空間システムが 検討されてるらしいが、いつ実装になるやら
624 名前:621 mailto:sage [2010/02/18(木) 21:59:30 ] >>622 むしろ推奨でしたか。安心しました。有り難うございます。 トップレベルにすべての組み込みクラスがあるのは面倒くさいから。。。 実にRuby的だなと思いました(笑)。いいですね。 もし初期の見通しをひきずっているのなら、Ruby2.0なんてのが出る時には 改善されるかもしれませんね。
625 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:05:47 ] いわゆる Std:: を使わないのはオープンクラス主義と反するからであるのは間違いない
626 名前:621 mailto:sage [2010/02/18(木) 22:08:53 ] >>623 オープンクラスなのは、メリットがとても大きいと思うので気にならないのですが、 どうして、組み込みをすべてトップレベルにしてあるのかなと思ったのです。 自分用のクラスを定義するときには、組み込みクラスの名前はすべてすでに使われているわけで、 名前空間がクリーンじゃないなと。 > オープンクラスの影響範囲を押さえ込む名前空間システム そんなのが実現したらすごそうですね。
627 名前:デフォルトの名無しさん [2010/02/18(木) 22:22:54 ] selector namespace だっけ?
628 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:30:06 ] python も str = 'hoge' みたいなことすると あほなことになるが