1 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 18:43:28 ] 前スレ 【Perl,PHP】LLバトルロワイヤル【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1188997302/
116 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:06:01 ] >>106 メソッドと関数の区別ぐらいつけてくれよ。
117 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:07:42 ] メソッドと関数って言語によって意味が変わるからなぁ、Rubyはどうなの?
118 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:11:28 ] >>113 >1, 「メソッド内スコープのメソッド」が作りたければ普通はメソッド内でdefを使う 結局はこれが思い込みだっただけでしょ
119 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:13:19 ] メソッドも関数も無名関数もクロージャも区別無いJSって分かりやすい仕様だと思う。
120 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:13:21 ] しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし なにか別の問題があるっぽい書き込みがあるな
121 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:15:15 ] >>119 とても良い言語なのにスクリプト用途では流行らないよね
122 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:16:36 ] メソッド内スコープのメソッドって他の言語では一般的なの? メソッドの意味を考えると、たぶん関数とか手続きで解決することだと思うんだけど
123 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:16:44 ] とある言語ではメソッドと関数の違いは値を返すか返さないかの違いだったりするし
124 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:17:36 ] >>114 >Procでつくれるのは関数であってメソッドではない。 これは何か問題があるの?
125 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:17:36 ] モジュールも名前空間もない言語はまともな開発には使えないよね。
126 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:18:55 ] Rubyにおける関数とメソッドの違いって何よ?
127 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:38 ] >>118 直感的な思い込みと実装をなるべく一致させるのが、良いLLなんでないの? いや、「Rubyは玄人専用」というなら何も言うことは無いけど >>120 ttp://d.hatena.ne.jp/ha-tan/20071031/1193883317 こんなのとか >>122 一般的とか言いがたいかも。 ただ使えない場合、普通は「禁止」される。
128 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:45 ] >>126 作者の気分次第で決まる
129 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:55 ] >>120 >しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし これは何か問題があるの?
130 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:21:18 ] >>127 間違った思い込みを押し付けるユーザは良いユーザですか?
131 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:16 ] >>124 とりあえず、>>99 を読んでわからなければ君にはセンスがないということ。
132 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:42 ] Procは仕様がコロコロかわるから怖くて使えないんだよ。
133 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:53 ] センスw
134 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:23:35 ] 批判してる側に根拠が希薄だと議論がグダグダになる良い例だな
135 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:23:52 ] いろんな意味でmatzにセンスがないのは疑いようがないんだが
136 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:24:05 ] ruby厨って実在するんだな。恐るべき視野の狭さだ。
137 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:25:02 ] 論理的な説明は諦めたのか?
138 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:25:39 ] 所詮カルト言語。
139 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:26:12 ] >>133 結局、君は>>80 が言うところのメソッドと関数の区別がついていない人のようだね。
140 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:26:27 ] >>116 >メソッドと関数の区別ぐらいつけてくれよ。 >>116 的にはメソッドと関数はどう違うんだ?
141 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:27 ] ところでmatzは関数とメソッドを明確に区別してたの?
142 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:34 ] Rubyのdefのネストの問題点に関する論理的な説明なら>>99 でも十分だろう。 実際>>99 への有効な反論も見あたらないし。
143 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:39 ] >>139 たった4文字からそこまで読み取れちゃうなんてお前最高だなw
144 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:28:32 ] >>142 >>100
145 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:29:44 ] >>144 そこはあるらしいじゃなくて具体的に書かないと話が進まないだろ
146 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:30:24 ] >>140 例えば、メッセージレシーバが違うな。
147 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:21 ] しかしこのスレはRubyが絡むとすごく伸びるなw
148 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:35 ] >>144 別の機構が用意されているということは、 defのネストが無駄なシンタックスであることの もう1つの理由になるわけだが、 それがどうかしたのか?
149 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:41 ] そもそも>>99 の指摘自体がピントがずれてる
150 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:32:19 ] >>149 どうずれている?具体的に。
151 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:32:49 ] >>148 ネストしたメソッド定義用にdefを新設したならその通り でも現実は異なる
152 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:34:00 ] >>151 具体的に。なぜわざわざdefのネストを許すのか、その理由を示せ。
153 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:34:47 ] >>150 >>99 は無名メソッドを定義出来る構文が欲しいなあと言ってるだけで defの何が悪いかは説明していない
154 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:35:31 ] >>130 間違っているのか? これが自然だと思うのはRubyist以外いないと思うんだけど。 class Test def func() def internal_func1() def internal_func2() end end end end 結果) obj = Test.new # obj.internal_func1() # undefined method # obj.internal_func2() # undefined method obj.func() # obj.internal_func2() # undefined method obj.internal_func1() obj.internal_func2()
155 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:36:02 ] >>152 具体的にって書いた通りだよ。日本語読めない?
156 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:36:10 ] >>153 >>99 はdefのネストに比べて無名メソッドの定義がいかに優れているかの説明であり、 それはすなわちdefのネストの短所である。
157 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:36:31 ] >>156 >それはすなわちdefのネストの短所である。 ここまでは書いてないな。
158 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:37:08 ] >>155 おいおい、現実が異なるんならその現実がどうなのかを具体的に書かないとダメだろ
159 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:37:25 ] >>155 書いてないものは読めない。 別の仕組が既に用意されており、なおかつ、>>99 に示された欠点があるにも関わらず defのネストを用いる理由を示しなさい。具体的に。
160 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:38:19 ] >>157 2つの言語要素があり、一方が他方を完全に置き替えることができ、なおかつ優れているのならば、 他方にとってそれは欠点となる。当然の話だと思うが、理解できないのか?
161 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:38:37 ] matzが既に老害なのはRubyスレでも良く知られた話。 あの言語ヲタはどうやらRubyを改造してないと落ち着かないらしい。 放っておくと変な仕様を入れて良い仕様を消し始めるから Rubyの開発MLは既に「matzの暴走を食い止める会」になってるよ。
162 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:39:11 ] るび厨の独善がよくわかるスレですね。
163 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:40:14 ] >>99 はさ、「他クラスのメソッドを定義したり、 同じ本体を名前をかえて定義したり」したいなら 短所かもしれんけど、そもそもそういう機能じゃ ないんだから、論点がずれてるんだよね。
164 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:40:44 ] MatzのPHP批判もお前が言うなとしか言いようのない内容だったしなw
165 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:41:16 ] >>160 >なおかつ優れている 新しい構文を導入する程じゃないな
166 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:41:21 ] >>163 どういう機能でなんでネスト許してるの?
167 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:41:47 ] >>163 それは、defのネストが提供している機能をすべてカバーした上で、の話であることを忘れないように。 defのネストのほうが優れている点を示しなさい。具体的に。
168 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:42:51 ] >>166 自分のクラスにメソッドを追加する機能でしょ。
169 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:43:08 ] >>165 defのネストも、わざわざネストを許す程のものじゃないと思うが? 何かdefをネストさせる積極的理由があるのならそれを示せ。具体的に。
170 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:43:09 ] >>168 なんでネスト許してるの?
171 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:44:10 ] >>167 何でそんなに偉そうな口調なのか分からんが、少し落ち着いて冷静になった方が良いぜ。
172 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:44:43 ] >>170 何でネストしたらダメなの?
173 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:44:52 ] >>168 それは>>99 が言う「メソッド本体の定義」で完全に置き替えることができる上に、 「メソッド本体の定義」に比べて非常に制限的な機能しか持たないわけだが、 それでもなおdefのネストを支持する理由を示せ。具体的に。
174 名前:172 mailto:sage [2008/05/04(日) 22:45:19 ] あ、忘れてたわw 具体的に示せ。
175 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:45:56 ] ルビ厨にとってRubyの構文は絶対にして侵すべからざるものだから、 どんなに説明しても無駄だよ。
176 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:46:32 ] 説明になった無いもんな
177 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:46:49 ] >>174 既に>>77 および>>99 に示されているが。おまえは文盲か?
178 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:47:08 ] >>174 直感的じゃない上に別の手段があって無駄な機能って散々書いてる人がいる
179 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:47:34 ] >>99 は論点ずれてるから不採用。
180 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:48:15 ] rubyの構文への批判とはすなわち間違いである。 したがって、defのネストは正しく、>>99 は間違いである。 るび厨の言ってることって、この程度でしょ。
181 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:48:41 ] どうやら論点がずれてて説明になってないということにするしかないようだw
182 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:49:12 ] >>179 どのように論点がずれているか示せ。具体的に。 なお、>>77 については認めるのか?>>77 を認めればdefのネストは機能的に冗長になるわけだが。
183 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:49:47 ] ルビ厨、必死になればなるほど藁えるなwww
184 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:50:00 ] >>178 確かに必須の機能じゃないと思うけど、無駄な機能くらいならあっても良いよ。 具体的に示せの人みたいに興奮する程の欠点じゃないと思うんだが。
185 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:50:22 ] >>172 メソッド内メソッドの定義と混ざって非常に分かりにくいから
186 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:50:46 ] るび厨はこういうのに負けそうになると開き直りや揚げ足取りに終始するから嫌い
187 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:51:02 ] >>185 >メソッド内メソッド 無いものとは混じらないよ
188 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:51:34 ] >>181 それしか言い逃れできないんでしょ、るび厨は。 defのネストは冗長なんだから、冗長ですねと認めればそれで済むのにね。 どうしてここまで固執するのか、サパーリわからんな。
189 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:52:43 ] >>184 いや、無駄に興奮してるのは君だよwwwwwww あー、おもしれw
190 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:52:53 ] >>99 は冗長だという指摘だったのか? 最近クロージャを知ったばかりの人かと思ったよ。
191 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:53:13 ] Ruby厨というか、Rubyの仕事を請け負ってる会社のおえらいさんとかが混ざってそうだな。
192 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:53:25 ] >>189 そんだけ草を生やしておいてその言い訳はみっともないよ
193 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:53:30 ] >>187 そうだな。 「メソッド内メソッドを定義したと思ったら実は違った。しかもメソッドは普通に呼び出せる」 だから混同するより悪いかもしれん。
194 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:55:30 ] >>191 Rubyのイメージ低下を恐れるならまずまつもとをどうにかしたほうがいいと思うのは俺だけかw
195 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:56:52 ] >>184 仮に、C-0xで関数定義のネストが構文的に許されるよう拡張され、 実行時に外側の関数が呼ばれて実行された時に、その内側の関数が 上書きで定義されるものだったとする。 こんな無茶苦茶な拡張でも君は「無駄な機能ぐらいあっても良いよ」と言うのか?
196 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:57:08 ] 鬼車問題でのRuby厨の開き直りっぷりは異常
197 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:00:17 ] >>190 内容のない印象操作だね。いいかげん虚しくないか?
198 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:01:48 ] ようするにmatzがパーサ書いた時に、defノードのネストを検知するのを忘れてただけだろ。 それを信者が「いや、これで正しいんだ」とか言い出してひっこみがつかなくなったわけだ。
199 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:02:34 ] >>195 あんなアホ言語元から使わね
200 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:04:29 ] 「defはこういう趣旨だからネストを許してる」とか「defのネストはこういう目的のためにある」 という話になるのかと思ったら「最終的には無駄な機能くらいならあっても良いよ」かよ、これは酷いw
201 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:08:06 ] matzを崇め奉っているのがこの程度の連中だということ、matzは自覚してるのかな。
202 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:10:54 ] >>201 matz自身が率先して似たようなことしてるから・・・
203 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:14:34 ] これRuby-Devでやったら伸びるのかな?
204 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:24:56 ] >>200 今までは否定派だったが、これを知って考えが変わった。 こういうことが余計な苦労無くできるなんて、ほんとうに素晴らしい言語だと思う。 class Test def show_yourself() puts "ノンケ" end def func(value) if value % 2 == 0 def show_yourself() puts "ウホッ" end else def show_yourself() puts "オネエさま〜" end end end end obj = Test.new obj.show_yourself() 5.times do obj.func(rand(100)) obj.show_yourself() end
205 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:34:08 ] >>204 「ウホッ」や「オネエさま〜」に続いてvalueの値を表示したいのだが、どうしたらいいのかな?
206 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:37:42 ] >>197 クロージャを昨日初めて知ったC++使いがはしゃいでただけにしか見えないが
207 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:40:02 ] >>206 うわ、また懲りずに全く同じ内容の印象操作・・・ほんとうにるび厨って救いようがないな
208 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:40:54 ] こんな文章で操作されるってどんだけ…
209 名前:99 mailto:sage [2008/05/04(日) 23:41:05 ] >>206 クロージャを仕事のコードで使いはじめたのは、ほんの15年前だから 最近といえば最近かもな。
210 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:41:33 ] はいはい
211 名前:99 mailto:sage [2008/05/04(日) 23:41:56 ] で、>>206 君は何十年前からクロージャを使っているんだい?
212 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:42:19 ] >>208 だよな、しかもそれを2回もやってるんだぜ、本当に何考えてるんだろうなるび厨って。
213 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:42:30 ] これは…
214 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:43:17 ] 操作されてるのは>>207 だろ しかも恐らく2回も
215 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:44:23 ] やたら伸びてるから予想できることではあったが、 馬鹿じゃない人間が一人もいない喧嘩だな。
216 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:45:19 ] >>215 >馬鹿じゃない人間 あんたが居るじゃないか