1 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:34:28 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 33 pc11.2ch.net/test/read.cgi/tech/1223709050/ 過去スレ・関連スレは >>2-
82 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:35:47 ] 文字コードなんて1.4でやっとけよ
83 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:56:02 ] >>81 1.9.0では動作してたものが1.9.1では動かないというのなら姉さん事件ですのでぜひ報告を
84 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:02:12 ] 2.0でやってたらやってたで「3.0でやってくれよ」と言ってるんだろうな
85 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:02:59 ] なにいってるかわからない
86 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:52:48 ] なるほど ありがとうございました
87 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:30:26 ] どれだー どれに対する礼なんだー
88 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:38:44 ] きっと神にだよ。
89 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 01:33:07 ] なるほど ありがとうございました
90 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 06:13:20 ] >>84 少なくとも1.9.1でやるよりは10倍マシ
91 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 07:27:49 ] 複雑だと思うならつかわなきゃいいんじゃねーの? なんでアホはあるもの全部使わなきゃ気がすまねーの?
92 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 08:02:17 ] 誰と会話してんの
93 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:07:18 ] # -*- coding: utf-8 -*- を行頭に挿入すりゃいいだけだろ?何を恐れることがある
94 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:33:29 ] >>92 彼は今チャンピオンベルト目指して脳内キャラとスパー中です。
95 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:55:55 ] >>94 それってつおいの?
96 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:58:32 ] 昔、机の上で左手と右手を戦わせてたときのことを思い出した
97 名前:デフォルトの名無しさん [2009/02/07(土) 14:59:40 ] それなんて色川武大
98 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:08:03 ] きっと神とだよ。
99 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:08:55 ] ありがとうございました
100 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:26:06 ] なるほど
101 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:36:53 ] がんばれよ
102 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:57:37 ] >>90 1.9って2.0のβじゃないの? Rubyのバージョン付けはそういうルールじゃないんだっけ。
103 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:58:21 ] 1.9は1.10のβです
104 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:01:49 ] >>102 元々はそういうルールでしたが、1.9.1からいきなり変わりました 今は1.9.0が開発版、1.9.1が安定版 それ以降はもうよく分からない
105 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:04:26 ] >>104 なるほど、知りませんでした。 >>103 確かに。 2.0のβなら1.99でしょうね。
106 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:06:25 ] >>102 2.0が当分先になりそうだから、 つなぎとして固まった仕様だけ出したのが1.9だったよーな 破壊的な変更のコストはどんどん増える一方ということを考えると、 ブロック内変数とかも含めて、 今のうちに変更しておくという決定は一理あるとは思う
107 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:10:00 ] 1.8と2.0の掛け橋が1.9で、1.8と1.9の橋渡しが1.8.7 ライブラリ作ってるのでなければ、しばらくは1.8.7を常用するのがよい 半年もすれば1.9.1対応ライブラリもぐんと増えよう ライブラリ公開してる人はとっとと1.9.1入れて対応作業始めてくりゃれ
108 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:13:29 ] >>107 今年中に1.8.8出るよ?
109 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:14:02 ] >>108 またそんな夢みたいなことを簡単に信じるんだから
110 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:15:25 ] >>108 うん、で、そのあとに続く言葉は何? 「だから1.8.6使い続けたほうがいい」? 1.8.8が出るなら今から1.8.7勉強して慣れたほうがよくないか?
111 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:35:19 ] hpricot(why-hpricot)とmysql(elia-mysql)は githubで公開しているgemなら1.9.1に入った。 githubのgemはオーナー名が入るのが好かんのだが。
112 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:44:48 ] Hpricotの復権はあるのだろうか…
113 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:46:56 ] >>112 Nokogiri はつまるとこ lib-libxml2 なんで、そのへんの不便を突けば並列使用は可能だと思う
114 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 17:41:37 ] >>112 なんか、why の人の blog で 「nokogiri の方が速いとか言われてマジブルー。むかついたからパーサー書き直したYO!」 とかいうエントリがあがってた。試してないから速くなったのか知らんけど。
115 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 17:44:32 ] 速さ云々じゃなくてあの変態APIが(ry
116 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 17:56:02 ] hpricotがなくっても _why の多芸っぷりは憧れる
117 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 18:39:21 ] 最近似たようなこと書き込みまくってる気がするんだが module M class C1; end class C2; end end この場合、C1 と C2 に関係性を持たせることはそもそもできない? たまたま含まれるモジュールが同じだけで、「知り合い」ではない? M を改造して module M_II class C1; end class C2; end end というものを作りたいんだけど
118 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:17:21 ] >>110 1.8.7と1.8.8って何か変更あるの? その時の1.9.1ってどうなるの?
119 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:22:25 ] 1.9という奇数バージョンは開発バージョンだから 2.0まで待った方がいいよ。
120 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:32:46 ] 間違った知識で何を言うか
121 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:43:53 ] 何年も継承されてるルールを変えられると困る
122 名前:デフォルトの名無しさん [2009/02/07(土) 19:52:42 ] 文字列処理入ると1.8より遅いのか...
123 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:54:20 ] 不安定版を一応脱した1.9.1が出た時点で、実質「1.9は開発版」という看板は終了だ 従来動作の1.8系列と、新動作の1.9系列という2つの括りになる むしろ、次の開発版が無いのが気になる
124 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:56:08 ] >>117 定数とか調べてコピーを作るメソッドを自分で作れ Application.create とか あと↓見てよく考えろ。クラスも定数である事を忘れるな class A CONST = :A def pconst ; p CONST ; end def pselfconst ; p self.class::CONST ; end end class B < A CONST = :B end B.new.pconst #=> :A B.new.pselfconst #=> :B
125 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:57:42 ] 話をループさせるの好きなんですね、わかります。
126 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:13:30 ] >>117 > 「知り合い」ではない? まあ、基本的には。 ネストでも継承でもない場合、基本的に他人。 データ作成クラスとデータ構造クラスとかを知り合い関係のまま再利用させたい場合は適当にネストさせとく。 class DataMaker; end class Data; end class SubData; end という並列構造はそもそもあんましよくない。
127 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:21:54 ] moduleインクルードすると嬉しいことって クラスの多重継承の代わりになるってことだけですか? なんならmoduleなんて排除してクラスの多重継承許しちゃえばよかったのに
128 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:29:31 ] ClassクラスとModuleクラスを機能的に分けたときのついでなんじゃないかと最近思う
129 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:34:06 ] >>126 ネストの意味のあるクラス名考えるのがとってもめんどくさいです
130 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:34:10 ] moduleをファイル指定にするというのはどうだろう module HogeHoge class FooBar; end end と書いたファイルは名前がHogeHoge.rbでなくてはならない、と して require ForBar from "HogeHoge" とかすんの。
131 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:52:54 ] 1.9系は全部開発版じゃないの? というのは私も思ったけれども、よく見るとRHG巻末に「1.9.0は開発版、1.9.1は安定版」書いてあるからかなり前から公表されていたと言える。 Matzがなにか2.0 featureをあれこれやりはじめたら、そのとき開発版と1.9系安定的開発版を分けますです。
132 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:56:11 ] てか、単に脳内情報が更新されてない人がいるだけだ わりと前に「末尾 0 のみ開発版」というのは発表されてたはず あと、一般的命名法とかけ離れている、直感に反するポリシーだというのが(w
133 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:00:13 ] >>119 1.9.1も開発バージョンで2.0.0も開発バージョンなんですよね わかります
134 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:00:14 ] Rubyの作者ってちゃんと働いてるの? IBMとかに入って一度リリースエンジニアリングを学んできた方がいいと思うんだが。
135 名前:デフォルトの名無しさん [2009/02/07(土) 22:02:38 ] 1.9の開発版はこの先ずっと1.9.0なんか... それとも1.9.1.0とか
136 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:10:56 ] あの浅田真央でさえ不調になるとこんなもんだ
137 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:33:00 ] どんだけ話をループさせるのが好きなんだよ、おまいらはw
138 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:37:21 ] Rubyの安定版が1.9.1になった理由について Matz自身が言及してる文章ってどこかにないかな? あったら教えて欲しい
139 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:38:20 ] 何で英語の方がドキュメント豊富なんだよ 日本で生まれたって理由だけでruby選んだのに 納得できん
140 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:41:35 ] >>139 日本語ドキュメントが豊富だっていう理由で言語選ばなかったからだろ
141 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:45:55 ] >>139 日本人があまりドキュメント作る気が無いから
142 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:47:17 ] 用途によってまた違うんだろうけど、日本語ドキュメントの質と量の総合で言うと、 Perl > PHP > Ruby >= JavaScript > Python くらいな気がする今日この頃。
143 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:04:33 ] 公式じゃなくても優良な書籍や解説サイトがあるPerl 公式以外が間違いだらけで公式しか頼れないPHP 公式があれば必要十分なPython
144 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:12:28 ] Pythonの公式は情報量は多いのに、使いやすさが全く考慮されていないのが痛い。 PHPは公式の出来はとても良い。ただしGoogle検索で出てくる更新されていない公式のコピーサイトがうざすぎる。
145 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:32:49 ] るびま25号出たー! まさに今求められている記事のラインナップだ、素晴らしい
146 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:40:12 ] python信者ってやたらruby嫌うよね? 職場のpython教の先輩方々がみんなrubyアンチだ 何なんだろね
147 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:41:30 ] >>139 なにもかも、おまえがドキュメントを書かないせい。
148 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:41:39 ] >>146 犬好きと猫好きみたいなもんだって誰かが言ったと最近どこかで見たが、このスレじゃなかったのかな
149 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:42:48 ] isitruby19.com (Is it Ruby 1.9?) というサイトがあった。
150 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:55:41 ] >>145 1.9スレではリンク張られてたな
151 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:08:25 ] るびまからリンクされてたFiberの解説を見て Fiberに対する興味が出てきたんだけど、有効な使い方がよく分からない 確かにThreadよりもシンプルだけど、使い方を探すのに悩む…
152 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 05:31:54 ] Rubyの開発ってさ、いつ終了すんの? 早く開発完了してバグ取りと仕様固定化に 力入れてくんないと、怖くて業務に使えないんだけど。
153 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 06:45:38 ] >>152 Python、PHP、Java これらの言語の開発は終了しましたか? また終了する見込みはありますか? それが答えです
154 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:30:32 ] CもC++もC#も終わってないな 終わったのはVBとCOBOLくらいか
155 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:53:42 ] COBOLも終わってないらしいぞ。 JIS規格の会議とか、最近でもあるし。
156 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 12:12:19 ] >>153 Javaは終わってないけど、互換性はそれなりにキープされてるから ちょっと違う。テスト不要とまでは言わないが、コード修正は不要なことが多い。 >>154 VBも終わってないぞ。文法が違うだけで、中身がほとんどC#と同じという 意味では「終わっている」のかもしれないが。
157 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 12:18:07 ] Javaは「仕様が無い言語とか業務使用にありえないから」という理由だけで作られた政治的言語だろ 他の言語と比較するのはそれだけで場違いだ
158 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 13:39:54 ] 1.9.1でバイナリファイル(画像)を File.read で読み込んだら data.encoding #=> #<Encoding:UTF-8> みたいになるんだな。これが Encoding.default_external か。 data.force_encoding('BINARY') するのと、 Encoding.default_external = 'BINARY' するのと、 どっちが行儀がよいのだろう。 とここまで書いて IO.binread の存在を知った。
159 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 13:59:17 ] gdgd
160 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:00:19 ] Pathname#binreadないんだな。
161 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:16:19 ] 1.9.1(って書きづらいな。なんかコードネームでもつけてくれ)はUTF8でソースもテキストも書いとけばドツボにはまることもなくなるのかね。
162 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:20:57 ] >>161 万事解決かどうかは知らないが、そうしない理由もないだろ。 今日日EUC-JPとか正直なんのメリットもないしな。
163 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 14:45:23 ] ・ システムがEUC-JPベースだ(オールドなLinuxとか) ・ Emacs のUTF-8 対応に許せない ・ ターミナルと UTF-8 の関係でイラつく の 3つの場合が考えられまする
164 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:17:31 ] そんなマイナー人種は、頑張って苦労するか日本語文字を使わないか すればいいんじゃないかと。
165 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:19:16 ] UTF-8 は日本語大体3バイトだしな・・・
166 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:23:44 ] 曖昧な幅のCJK文字とか死滅すればいいのに >>165 UTF-8というかUnicodeにまつわる問題の多くは文字のバイト数に起因していない 的外れ
167 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:27:49 ] def val(params = nil) @val ||= ... end とか def val(params = nil) @val if @val ... return @val = ... end とかいう、最近わりと市民権得つつある遅延評価風の処理についてなにか一言あれば
168 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 15:35:00 ] >>167 irb とひじょーに相性が悪い 普通に書いてると、new した返り値が inspect で表示される瞬間に @val が確定してしまったりしてとてもめんどくさい
169 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:00:25 ] >>166 単に容量増えるって問題だよ
170 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:59:29 ] 容量気にすんならMIME撲滅するべきだろ
171 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:00:41 ] XML もですねわかります
172 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:07:37 ] Rubyでそんなにシビアなもの作ってる人いるんだ。
173 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:09:58 ] >>167 普通にキャッシュとか言ったほうがいいよ >>168 評価されるタイミングで結果が変わるメソッドでは使うべきではない
174 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:12:41 ] cache or memoize
175 名前:デフォルトの名無しさん [2009/02/08(日) 17:44:46 ] >>167 rubyって遅延評価できるんだwww 見る限り遅延評価してるようには見えないが
176 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:49:34 ] rubyistな後輩がrails使った自社サービス開発してるんだけど ログイン周りの拡張をする時に、汎用的に使えるようにしようってことで railsのプラグインを3日ぐらいで作ってた。 javaしか知らなかった俺は素直にすげーって思った。 このフットワークの軽さは惚れるね。rubyじゃなくてrailsがすごいのかもしれないけど。
177 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 17:55:16 ] 遅延評価と遅延評価風ってJavaとJavaScriptくらいの差があるよね
178 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:13:45 ] 知ったか乙
179 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 02:08:35 ] >>176 それはrubyやrailsが凄いのではなくて、後輩が凄いんだろう。 というか、作ったものの規模にもよるんだけど、たぶん君が極端に情けない。
180 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 06:19:23 ] >>176 3日で作るのが難しいようなプラグインだったのか?
181 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:09:16 ] javaしか知らないやつの言うことだぞ、分かるだろ
182 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:14:16 ] 何年か前の15分でブログを作るってデモを思い出すなぁ 知らない人間にとっては確かに衝撃的だった