【Perl,PHP】LLバトル ..
76:デフォルトの名無しさん
08/05/04 18:41:12
>>75
それならそれで、Compilerクラスを用意するなど、他にやりようがある。
コンパイル時のメソッド定義と同じシンタックスなんて狂気の沙汰。
77:デフォルトの名無しさん
08/05/04 18:58:44
つーか動的追加は既にModuleかどこかのメソッドにあるハズ。
78:デフォルトの名無しさん
08/05/04 19:04:30
まあ、ネストメソッドはメソッドスコープのメソッドだと予想するよなあ。
Rubyはとことん斜め上をいくって言うか・。
79:デフォルトの名無しさん
08/05/04 20:00:32
def 〜; end がメソッド定義文という、
中身が実行されない、それ自体は実行される文である、
とわかればどうってことない。
80:デフォルトの名無しさん
08/05/04 20:30:12
メソッドと関数の区別がついてない人がそれで納得できないから文句言ってるだけ
81:デフォルトの名無しさん
08/05/04 20:34:36
関数はどうやって定義するの?
82:デフォルトの名無しさん
08/05/04 20:49:55
それがメソッドなのか関数なのかは、言語設計者の感覚次第だな。
83:デフォルトの名無しさん
08/05/04 20:49:58
>>79-80
いや、だからさ、実行コンテキストが外側のメソッドにある間にだけ有効な
メソッドが定義されると考えるのが自然じゃない?って話なんだけど。
84:デフォルトの名無しさん
08/05/04 20:50:43
>>79
とりあえず>>76を読め。
85:デフォルトの名無しさん
08/05/04 20:51:35
どっちを自然と考えるかは、言語使用者の感覚次第だな。
86:デフォルトの名無しさん
08/05/04 21:02:53
まあ、百害あって一利無しな言語仕様であることは間違いない。
87:デフォルトの名無しさん
08/05/04 21:16:51
>>86
それを「自然」と考えてしまうカルト信者の悲しい性
88:デフォルトの名無しさん
08/05/04 21:19:31
>>86
何か害があるの?
89:デフォルトの名無しさん
08/05/04 21:20:54
動的メソッド定義なら他にいくらでも作りようがあるのに、
ネストしたメソッドなんて、そんな紛らわしい方法を取る理由は何なんだろう。
90:デフォルトの名無しさん
08/05/04 21:23:12
文字列を用意してからコンパイルするのダルかったとか。
91:デフォルトの名無しさん
08/05/04 21:23:14
言語仕様として明らかに冗長だな。センスがない。
92:デフォルトの名無しさん
08/05/04 21:24:31
中間コードにdef〜end間の文字列がそのまま保存されてそうだな(w
93:デフォルトの名無しさん
08/05/04 21:27:27
>>90
文字列からコンパイルしなくたって、無名メソッドを定義する構文を用意すればいいだけ。
クロージャのようにね。静的なメソッドと同じ構文要素を使うなんて、どうかしてる。
94:デフォルトの名無しさん
08/05/04 21:30:20
Rubyのパーサーはカオスだから
95:デフォルトの名無しさん
08/05/04 21:30:28
通常のメソッドと同じ構文だと、どう困るの?
96:デフォルトの名無しさん
08/05/04 21:31:46
とにかく感覚の違いということにしたい感がひしひしと伝わってくる
97:デフォルトの名無しさん
08/05/04 21:34:00
誰でも当然と考えることを、当然と考えられない感覚があることは理解できる
98:デフォルトの名無しさん
08/05/04 21:35:39
>>97
矛盾してるよ
99:デフォルトの名無しさん
08/05/04 21:36:54
>>95
メソッド定義の構文にしないで、メソッド本体の定義にしておけば、
他クラスのメソッドを定義したり、同じ本体を名前をかえて定義したりできるだろ。
静的メソッド定義の構文を使うことで、静的メソッドだから当然だった制約を
動的メソッド定義にまで持ち込んでしまっているんだよ。
100:デフォルトの名無しさん
08/05/04 21:39:21
>>77 によれば動的にメソッドを追加する機能は既に別にあるらしいよ。
101:デフォルトの名無しさん
08/05/04 21:47:24
どっちが先かわからないけどツギハギ感が否めないな
102:デフォルトの名無しさん
08/05/04 21:48:56
こんなクソ言語を喜んで使う奴は相当のMだな
103:デフォルトの名無しさん
08/05/04 21:49:51
>>92
それは普通じゃないの
104:デフォルトの名無しさん
08/05/04 21:50:54
>>103
麦茶吹いた(wwwww
105:デフォルトの名無しさん
08/05/04 21:54:46
きたないやつだなあ
ほかにどうせいっつーねん
106:デフォルトの名無しさん
08/05/04 21:55:27
>>81
Rubyに厳密な意味で関数の動作をするものはない
というか>>79以上のものではないな
「メソッド内スコープのメソッド」を作りたい場合はRubyではProcを使う
107:デフォルトの名無しさん
08/05/04 21:56:43
>>105
あんな変なことする必要のない言語仕様にすればいい
108:デフォルトの名無しさん
08/05/04 21:58:49
>>107
>>105 は「コンパイル時点で評価出来ないコード辺を
文字列で保持しておく以外にどうするのか」という意味ね。
109:デフォルトの名無しさん
08/05/04 22:01:06
>>108
×評価出来ない
○面倒で評価してない
110:デフォルトの名無しさん
08/05/04 22:01:11
クロージャってコード片をそのまま中間コードが保持するものなのか?そんな話聞いたことないけど。
111:デフォルトの名無しさん
08/05/04 22:02:31
>>110
何でクロージャ?
112:デフォルトの名無しさん
08/05/04 22:03:15
>>110
普通は中間コードにコンパイルしたものを保持するな。
113:デフォルトの名無しさん
08/05/04 22:03:39
>>106
1, 「メソッド内スコープのメソッド」が作りたければ普通はメソッド内でdefを使う
2, メソッド内ではエラー無くdefが使える
3, しかし、それで定義されたメソッドは動的に追加される。しかもそれはメソッド内メソッドとはならない
この仕様をもって「百害あって一利なし」と言っているのでは?
> 「メソッド内スコープのメソッド」を作りたい場合はRubyではProcを使う
こんなこと、普通の人は知りません。直感的でもありません。
114:デフォルトの名無しさん
08/05/04 22:05:04
>>106
Procでつくれるのは関数であってメソッドではない。
115:デフォルトの名無しさん
08/05/04 22:05:47
まあぶっちゃけProc自体呪われた仕様なんだけどね
116:デフォルトの名無しさん
08/05/04 22:06:01
>>106
メソッドと関数の区別ぐらいつけてくれよ。
117:デフォルトの名無しさん
08/05/04 22:07:42
メソッドと関数って言語によって意味が変わるからなぁ、Rubyはどうなの?
118:デフォルトの名無しさん
08/05/04 22:11:28
>>113
>1, 「メソッド内スコープのメソッド」が作りたければ普通はメソッド内でdefを使う
結局はこれが思い込みだっただけでしょ
119:デフォルトの名無しさん
08/05/04 22:13:19
メソッドも関数も無名関数もクロージャも区別無いJSって分かりやすい仕様だと思う。
120:デフォルトの名無しさん
08/05/04 22:13:21
しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし
なにか別の問題があるっぽい書き込みがあるな
121:デフォルトの名無しさん
08/05/04 22:15:15
>>119
とても良い言語なのにスクリプト用途では流行らないよね
122:デフォルトの名無しさん
08/05/04 22:16:36
メソッド内スコープのメソッドって他の言語では一般的なの?
メソッドの意味を考えると、たぶん関数とか手続きで解決することだと思うんだけど
123:デフォルトの名無しさん
08/05/04 22:16:44
とある言語ではメソッドと関数の違いは値を返すか返さないかの違いだったりするし
124:デフォルトの名無しさん
08/05/04 22:17:36
>>114
>Procでつくれるのは関数であってメソッドではない。
これは何か問題があるの?
125:デフォルトの名無しさん
08/05/04 22:17:36
モジュールも名前空間もない言語はまともな開発には使えないよね。
126:デフォルトの名無しさん
08/05/04 22:18:55
Rubyにおける関数とメソッドの違いって何よ?
127:デフォルトの名無しさん
08/05/04 22:19:38
>>118
直感的な思い込みと実装をなるべく一致させるのが、良いLLなんでないの?
いや、「Rubyは玄人専用」というなら何も言うことは無いけど
>>120
URLリンク(d.hatena.ne.jp)
こんなのとか
>>122
一般的とか言いがたいかも。
ただ使えない場合、普通は「禁止」される。
128:デフォルトの名無しさん
08/05/04 22:19:45
>>126
作者の気分次第で決まる
129:デフォルトの名無しさん
08/05/04 22:19:55
>>120
>しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし
これは何か問題があるの?
130:デフォルトの名無しさん
08/05/04 22:21:18
>>127
間違った思い込みを押し付けるユーザは良いユーザですか?
131:デフォルトの名無しさん
08/05/04 22:22:16
>>124
とりあえず、>>99を読んでわからなければ君にはセンスがないということ。
132:デフォルトの名無しさん
08/05/04 22:22:42
Procは仕様がコロコロかわるから怖くて使えないんだよ。
133:デフォルトの名無しさん
08/05/04 22:22:53
センスw
134:デフォルトの名無しさん
08/05/04 22:23:35
批判してる側に根拠が希薄だと議論がグダグダになる良い例だな
135:デフォルトの名無しさん
08/05/04 22:23:52
いろんな意味でmatzにセンスがないのは疑いようがないんだが
136:デフォルトの名無しさん
08/05/04 22:24:05
ruby厨って実在するんだな。恐るべき視野の狭さだ。
137:デフォルトの名無しさん
08/05/04 22:25:02
論理的な説明は諦めたのか?
138:デフォルトの名無しさん
08/05/04 22:25:39
所詮カルト言語。
139:デフォルトの名無しさん
08/05/04 22:26:12
>>133
結局、君は>>80が言うところのメソッドと関数の区別がついていない人のようだね。
140:デフォルトの名無しさん
08/05/04 22:26:27
>>116
>メソッドと関数の区別ぐらいつけてくれよ。
>>116的にはメソッドと関数はどう違うんだ?
141:デフォルトの名無しさん
08/05/04 22:27:27
ところでmatzは関数とメソッドを明確に区別してたの?
142:デフォルトの名無しさん
08/05/04 22:27:34
Rubyのdefのネストの問題点に関する論理的な説明なら>>99でも十分だろう。
実際>>99への有効な反論も見あたらないし。
143:デフォルトの名無しさん
08/05/04 22:27:39
>>139
たった4文字からそこまで読み取れちゃうなんてお前最高だなw
144:デフォルトの名無しさん
08/05/04 22:28:32
>>142
>>100
145:デフォルトの名無しさん
08/05/04 22:29:44
>>144
そこはあるらしいじゃなくて具体的に書かないと話が進まないだろ
146:デフォルトの名無しさん
08/05/04 22:30:24
>>140
例えば、メッセージレシーバが違うな。
147:デフォルトの名無しさん
08/05/04 22:31:21
しかしこのスレはRubyが絡むとすごく伸びるなw
148:デフォルトの名無しさん
08/05/04 22:31:35
>>144
別の機構が用意されているということは、
defのネストが無駄なシンタックスであることの
もう1つの理由になるわけだが、
それがどうかしたのか?
149:デフォルトの名無しさん
08/05/04 22:31:41
そもそも>>99の指摘自体がピントがずれてる
150:デフォルトの名無しさん
08/05/04 22:32:19
>>149
どうずれている?具体的に。
151:デフォルトの名無しさん
08/05/04 22:32:49
>>148
ネストしたメソッド定義用にdefを新設したならその通り
でも現実は異なる
152:デフォルトの名無しさん
08/05/04 22:34:00
>>151
具体的に。なぜわざわざdefのネストを許すのか、その理由を示せ。
153:デフォルトの名無しさん
08/05/04 22:34:47
>>150
>>99は無名メソッドを定義出来る構文が欲しいなあと言ってるだけで
defの何が悪いかは説明していない
154:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/04 22:36:02
>>152
具体的にって書いた通りだよ。日本語読めない?
156:デフォルトの名無しさん
08/05/04 22:36:10
>>153
>>99はdefのネストに比べて無名メソッドの定義がいかに優れているかの説明であり、
それはすなわちdefのネストの短所である。
157:デフォルトの名無しさん
08/05/04 22:36:31
>>156
>それはすなわちdefのネストの短所である。
ここまでは書いてないな。
158:デフォルトの名無しさん
08/05/04 22:37:08
>>155
おいおい、現実が異なるんならその現実がどうなのかを具体的に書かないとダメだろ
159:デフォルトの名無しさん
08/05/04 22:37:25
>>155
書いてないものは読めない。
別の仕組が既に用意されており、なおかつ、>>99に示された欠点があるにも関わらず
defのネストを用いる理由を示しなさい。具体的に。
160:デフォルトの名無しさん
08/05/04 22:38:19
>>157
2つの言語要素があり、一方が他方を完全に置き替えることができ、なおかつ優れているのならば、
他方にとってそれは欠点となる。当然の話だと思うが、理解できないのか?
161:デフォルトの名無しさん
08/05/04 22:38:37
matzが既に老害なのはRubyスレでも良く知られた話。
あの言語ヲタはどうやらRubyを改造してないと落ち着かないらしい。
放っておくと変な仕様を入れて良い仕様を消し始めるから
Rubyの開発MLは既に「matzの暴走を食い止める会」になってるよ。
162:デフォルトの名無しさん
08/05/04 22:39:11
るび厨の独善がよくわかるスレですね。
163:デフォルトの名無しさん
08/05/04 22:40:14
>>99 はさ、「他クラスのメソッドを定義したり、
同じ本体を名前をかえて定義したり」したいなら
短所かもしれんけど、そもそもそういう機能じゃ
ないんだから、論点がずれてるんだよね。
164:デフォルトの名無しさん
08/05/04 22:40:44
MatzのPHP批判もお前が言うなとしか言いようのない内容だったしなw
165:デフォルトの名無しさん
08/05/04 22:41:16
>>160
>なおかつ優れている
新しい構文を導入する程じゃないな
166:デフォルトの名無しさん
08/05/04 22:41:21
>>163
どういう機能でなんでネスト許してるの?
167:デフォルトの名無しさん
08/05/04 22:41:47
>>163
それは、defのネストが提供している機能をすべてカバーした上で、の話であることを忘れないように。
defのネストのほうが優れている点を示しなさい。具体的に。
168:デフォルトの名無しさん
08/05/04 22:42:51
>>166
自分のクラスにメソッドを追加する機能でしょ。
169:デフォルトの名無しさん
08/05/04 22:43:08
>>165
defのネストも、わざわざネストを許す程のものじゃないと思うが?
何かdefをネストさせる積極的理由があるのならそれを示せ。具体的に。
170:デフォルトの名無しさん
08/05/04 22:43:09
>>168
なんでネスト許してるの?
171:デフォルトの名無しさん
08/05/04 22:44:10
>>167
何でそんなに偉そうな口調なのか分からんが、少し落ち着いて冷静になった方が良いぜ。
172:デフォルトの名無しさん
08/05/04 22:44:43
>>170
何でネストしたらダメなの?
173:デフォルトの名無しさん
08/05/04 22:44:52
>>168
それは>>99が言う「メソッド本体の定義」で完全に置き替えることができる上に、
「メソッド本体の定義」に比べて非常に制限的な機能しか持たないわけだが、
それでもなおdefのネストを支持する理由を示せ。具体的に。
174:172
08/05/04 22:45:19
あ、忘れてたわw
具体的に示せ。
175:デフォルトの名無しさん
08/05/04 22:45:56
ルビ厨にとってRubyの構文は絶対にして侵すべからざるものだから、
どんなに説明しても無駄だよ。
176:デフォルトの名無しさん
08/05/04 22:46:32
説明になった無いもんな
177:デフォルトの名無しさん
08/05/04 22:46:49
>>174
既に>>77および>>99に示されているが。おまえは文盲か?
178:デフォルトの名無しさん
08/05/04 22:47:08
>>174
直感的じゃない上に別の手段があって無駄な機能って散々書いてる人がいる
179:デフォルトの名無しさん
08/05/04 22:47:34
>>99は論点ずれてるから不採用。
180:デフォルトの名無しさん
08/05/04 22:48:15
rubyの構文への批判とはすなわち間違いである。
したがって、defのネストは正しく、>>99は間違いである。
るび厨の言ってることって、この程度でしょ。
181:デフォルトの名無しさん
08/05/04 22:48:41
どうやら論点がずれてて説明になってないということにするしかないようだw
182:デフォルトの名無しさん
08/05/04 22:49:12
>>179
どのように論点がずれているか示せ。具体的に。
なお、>>77については認めるのか?>>77を認めればdefのネストは機能的に冗長になるわけだが。
183:デフォルトの名無しさん
08/05/04 22:49:47
ルビ厨、必死になればなるほど藁えるなwww
184:デフォルトの名無しさん
08/05/04 22:50:00
>>178
確かに必須の機能じゃないと思うけど、無駄な機能くらいならあっても良いよ。
具体的に示せの人みたいに興奮する程の欠点じゃないと思うんだが。
185:デフォルトの名無しさん
08/05/04 22:50:22
>>172
メソッド内メソッドの定義と混ざって非常に分かりにくいから
186:デフォルトの名無しさん
08/05/04 22:50:46
るび厨はこういうのに負けそうになると開き直りや揚げ足取りに終始するから嫌い
187:デフォルトの名無しさん
08/05/04 22:51:02
>>185
>メソッド内メソッド
無いものとは混じらないよ
188:デフォルトの名無しさん
08/05/04 22:51:34
>>181
それしか言い逃れできないんでしょ、るび厨は。
defのネストは冗長なんだから、冗長ですねと認めればそれで済むのにね。
どうしてここまで固執するのか、サパーリわからんな。
189:デフォルトの名無しさん
08/05/04 22:52:43
>>184
いや、無駄に興奮してるのは君だよwwwwwww
あー、おもしれw
190:デフォルトの名無しさん
08/05/04 22:52:53
>>99は冗長だという指摘だったのか?
最近クロージャを知ったばかりの人かと思ったよ。
191:デフォルトの名無しさん
08/05/04 22:53:13
Ruby厨というか、Rubyの仕事を請け負ってる会社のおえらいさんとかが混ざってそうだな。
192:デフォルトの名無しさん
08/05/04 22:53:25
>>189
そんだけ草を生やしておいてその言い訳はみっともないよ
193:デフォルトの名無しさん
08/05/04 22:53:30
>>187
そうだな。
「メソッド内メソッドを定義したと思ったら実は違った。しかもメソッドは普通に呼び出せる」
だから混同するより悪いかもしれん。
194:デフォルトの名無しさん
08/05/04 22:55:30
>>191
Rubyのイメージ低下を恐れるならまずまつもとをどうにかしたほうがいいと思うのは俺だけかw
195:デフォルトの名無しさん
08/05/04 22:56:52
>>184
仮に、C-0xで関数定義のネストが構文的に許されるよう拡張され、
実行時に外側の関数が呼ばれて実行された時に、その内側の関数が
上書きで定義されるものだったとする。
こんな無茶苦茶な拡張でも君は「無駄な機能ぐらいあっても良いよ」と言うのか?
196:デフォルトの名無しさん
08/05/04 22:57:08
鬼車問題でのRuby厨の開き直りっぷりは異常
197:デフォルトの名無しさん
08/05/04 23:00:17
>>190
内容のない印象操作だね。いいかげん虚しくないか?
198:デフォルトの名無しさん
08/05/04 23:01:48
ようするにmatzがパーサ書いた時に、defノードのネストを検知するのを忘れてただけだろ。
それを信者が「いや、これで正しいんだ」とか言い出してひっこみがつかなくなったわけだ。
199:デフォルトの名無しさん
08/05/04 23:02:34
>>195
あんなアホ言語元から使わね
200:デフォルトの名無しさん
08/05/04 23:04:29
「defはこういう趣旨だからネストを許してる」とか「defのネストはこういう目的のためにある」
という話になるのかと思ったら「最終的には無駄な機能くらいならあっても良いよ」かよ、これは酷いw
201:デフォルトの名無しさん
08/05/04 23:08:06
matzを崇め奉っているのがこの程度の連中だということ、matzは自覚してるのかな。
202:デフォルトの名無しさん
08/05/04 23:10:54
>>201
matz自身が率先して似たようなことしてるから・・・
203:デフォルトの名無しさん
08/05/04 23:14:34
これRuby-Devでやったら伸びるのかな?
204:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/04 23:34:08
>>204
「ウホッ」や「オネエさま〜」に続いてvalueの値を表示したいのだが、どうしたらいいのかな?
206:デフォルトの名無しさん
08/05/04 23:37:42
>>197
クロージャを昨日初めて知ったC++使いがはしゃいでただけにしか見えないが
207:デフォルトの名無しさん
08/05/04 23:40:02
>>206
うわ、また懲りずに全く同じ内容の印象操作・・・ほんとうにるび厨って救いようがないな
208:デフォルトの名無しさん
08/05/04 23:40:54
こんな文章で操作されるってどんだけ…
209:99
08/05/04 23:41:05
>>206
クロージャを仕事のコードで使いはじめたのは、ほんの15年前だから
最近といえば最近かもな。
210:デフォルトの名無しさん
08/05/04 23:41:33
はいはい
211:99
08/05/04 23:41:56
で、>>206君は何十年前からクロージャを使っているんだい?
212:デフォルトの名無しさん
08/05/04 23:42:19
>>208
だよな、しかもそれを2回もやってるんだぜ、本当に何考えてるんだろうなるび厨って。
213:デフォルトの名無しさん
08/05/04 23:42:30
これは…
214:デフォルトの名無しさん
08/05/04 23:43:17
操作されてるのは>>207だろ
しかも恐らく2回も
215:デフォルトの名無しさん
08/05/04 23:44:23
やたら伸びてるから予想できることではあったが、
馬鹿じゃない人間が一人もいない喧嘩だな。
216:デフォルトの名無しさん
08/05/04 23:45:19
>>215
>馬鹿じゃない人間
あんたが居るじゃないか
217:デフォルトの名無しさん
08/05/04 23:46:07
毎度のこういうネガキャンでアンチRubyが量産されてるんだろうな・・・
勘弁してくれ、せめて隔離スレあるんだからそこでやってくれ
218:デフォルトの名無しさん
08/05/04 23:46:11
>>214
うわぁ、印象操作されてる人間が印象操作を指摘するってか?
るび厨ってどんだけイカれてるんだ・・・
219:デフォルトの名無しさん
08/05/04 23:47:15
>>217
matzが率先してネガキャンしてるから仕方ない
220:デフォルトの名無しさん
08/05/04 23:48:47
>>218
そのゲームのキャラみたいな口調は自前?
221:デフォルトの名無しさん
08/05/04 23:49:18
ねえ、>>206は何十年前からクロージャを使っているの?
僕も知りたいんだけど。>>206の上から目線からいって
>>99よりは長い経験持ってるんでしょ?
222:デフォルトの名無しさん
08/05/04 23:50:23
>>220
普段はそうでもないのだがあまりにも酷すぎたので思わずw
223:デフォルトの名無しさん
08/05/04 23:51:01
ちょ、どんだけ純真なんだよw
224:デフォルトの名無しさん
08/05/04 23:51:26
ruby厨、ブザマだな。
225:デフォルトの名無しさん
08/05/04 23:51:54
>>222
そか。板についてたよ。>>218は絵が浮かんでちょっと面白かったw
226:デフォルトの名無しさん
08/05/05 00:11:46
>>206は黙り込んじゃったね。聞いちゃいけない話題だったのかな?
227:デフォルトの名無しさん
08/05/05 00:16:45
何このチキンレース
228:デフォルトの名無しさん
08/05/05 00:24:51
Rubyがカルト言語だってことがよく分かった
229:デフォルトの名無しさん
08/05/05 00:32:39
黄金週間だな
230:デフォルトの名無しさん
08/05/05 01:01:45
def foo(x)
def inner() x * 2 end
inner()
end
puts foo(1234)
こんなのが、
:2: in `inner': undefined local variable or method `x' for main:Object (NameError)
となり、外側のスコープの変数が見えず、実行不能 ><
これぐらいはまあ仕様だ。
引数で渡せばすむこと
def foo(x)
# ok
def inner(x) x * 2 end
inner(x)
end
さて、ちょっとしたミスを
puts foo(1234)
puts inner(1000) # ←呼べる件について
231:デフォルトの名無しさん
08/05/05 01:04:18
宣言だけでは駄目で、実行されないと関数が登録されないのは Ruby の仕様。
それはいいとして、
foo を呼び出したあと、inner 関数が Kernelモジュールに定義されていることが問題?
つまり……
def foo
def inner
puts " called in inner"
end
inner
end
foo
1234.foo rescue "error: #$!" # error
1234.inner # ok!!
"unko".foo rescue "error: #$!" # error
"unko".inner # ok!!
1234.inner や "unko".inner 呼べてるワロタ
232:デフォルトの名無しさん
08/05/05 01:05:23
いやー本当にRubyっておもしろいで(ry
233:デフォルトの名無しさん
08/05/05 01:15:28
不意に発動してしまったモンキーパッチ機能を言語本体で使い始めちゃったもんだから
もうあとに戻れなくなってるんだよね
Rubyって本当におもしろいで(ry
234:デフォルトの名無しさん
08/05/05 01:43:03
Ruby大人気
PerlにもPythonにもPHPにもだめな仕様はあるのに
PHPなんかは言語仕様的にはVBよりちょっとマシ程度でしょ
235:デフォルトの名無しさん
08/05/05 01:44:42
VB馬鹿にするやつは俺が出て行って謝る
236:デフォルトの名無しさん
08/05/05 01:48:37
>>234
ruby厨が粘着したからな
237:デフォルトの名無しさん
08/05/05 08:11:54
Rubyで初めてクロージャを知ったシロウトがシッタカかましてるスレはここですね。
238:デフォルトの名無しさん
08/05/05 08:15:45
さながら中学生の喧嘩だなw
239:デフォルトの名無しさん
08/05/05 08:41:19
>>238
ルビ厨乙
240:デフォルトの名無しさん
08/05/05 08:48:58
子供の日だな
241:デフォルトの名無しさん
08/05/05 08:52:21
祝日なのに朝から煽ってる奴がいてワラタw
242:デフォルトの名無しさん
08/05/05 10:09:19
PerlもPythonもRubyほどではないだろ。
PHPは言語がアレなのに加えて、使う奴はもっとアレだけどね。
あ、これはRubyという言語の作者が言っていたことですよ、念のため。
243:デフォルトの名無しさん
08/05/05 10:17:07
>>241
まぁでも平日の朝のほうが痛いでしょ
見慣れてて麻痺しがちだけど
244:デフォルトの名無しさん
08/05/05 10:45:59
>>206のクロージャ歴、まだー?
245:デフォルトの名無しさん
08/05/05 11:08:29
連休はまだまだ続く
246:デフォルトの名無しさん
08/05/05 11:17:32
>>242
matzはマジうざいよな
247:デフォルトの名無しさん
08/05/05 11:20:13
>>238
るび厨は負けそうになると急に厨になってどっちもどっちにしようとするんだよな
248:デフォルトの名無しさん
08/05/05 11:22:11
そろそろ燃料不足か?
249:デフォルトの名無しさん
08/05/05 11:29:31
完璧な言語なんてないんだから、
defのネストはRubyの欠点だと認めちゃえばいいのに。
改良ってのは欠点を認めるところから始まるんだからさ。
250:デフォルトの名無しさん
08/05/05 11:30:07
Proc.new で作られるのはProcオブジェクト(Procのインスタンス)であって、
(存在しないけど)言語仕様的には「関数」とか「クロージャ」はRubyには存在しない。
251:デフォルトの名無しさん
08/05/05 11:30:39
>>249 誰も欠点じゃないとは言ってない件
252:デフォルトの名無しさん
08/05/05 11:32:05
まつもともRuby信者も器が小さいというか余裕がないんだよな
253:デフォルトの名無しさん
08/05/05 11:32:06
そうすると煽るネタが無くなっちゃう
254:デフォルトの名無しさん
08/05/05 11:33:44
>>251
その指摘を「論点がずれてる」とか「説明になってない」ということで逃げようとしてましたよ
まぁ最後には「冗長な機能があってもいいじゃないか」と開き直ってましたが
255:デフォルトの名無しさん
08/05/05 11:36:58
毎度のことながらruby厨終わってるな・・・
256:デフォルトの名無しさん
08/05/05 11:39:48
技術に関係無い話だと盛り上がるな
257:デフォルトの名無しさん
08/05/05 11:42:22
相手が逃げてる事にすれば楽だよね・・・
258:デフォルトの名無しさん
08/05/05 11:42:57
>>250
へ?関数やクロージャが1st class objectになってるというだけでは?
259:デフォルトの名無しさん
08/05/05 11:43:38
>>257
で、>>206のクロージャ歴がまだ出てきていない件について。
260:デフォルトの名無しさん
08/05/05 11:44:02
ほらこうやってごまかそうとするのがruby厨
261:デフォルトの名無しさん
08/05/05 11:44:35
クロージャ歴w
262:デフォルトの名無しさん
08/05/05 11:45:26
Ruby厨ってどうして毎度ファビョるんだろう。
263:デフォルトの名無しさん
08/05/05 11:46:23
>>261
最初にそれを言い出したのはruby厨のほうなのに
本人なのか?かばってるつもりなのか?
264:デフォルトの名無しさん
08/05/05 11:46:31
>>262
たぶん家庭環境に問題があるんだろうな。
265:デフォルトの名無しさん
08/05/05 11:47:28
テンプレート歴とかcall/cc歴とかモナド歴も聞かれそうだなw
266:デフォルトの名無しさん
08/05/05 11:48:14
さあ盛り上がって参りました!
267:デフォルトの名無しさん
08/05/05 11:48:35
>>206
ほんと、笑っちゃうよな。>>190とか>>206を読んでみろ。吹き出しちゃうから。
268:デフォルトの名無しさん
08/05/05 11:49:51
クロージャー歴を最初に言い出したのはruby厨のほう>>190 >>206
269:デフォルトの名無しさん
08/05/05 11:50:04
ほらほら、どんどんファビョるwww
おもしれーな、Ruby厨って。
270:デフォルトの名無しさん
08/05/05 11:50:09
翌日の昼まで煽ってるなんて、余程>>206が堪えたんだなw
271:デフォルトの名無しさん
08/05/05 11:51:23
お前が先に言ったんだ!
ワラタ
272:デフォルトの名無しさん
08/05/05 11:52:01
>>269
ほんとおもしれーよな、クロージャー歴で揚げ足をとったつもりだったんだろうからなぁw
273:デフォルトの名無しさん
08/05/05 11:52:59
そんな悔しがらなくてもw
274:デフォルトの名無しさん
08/05/05 11:53:16
クロージャを何年使っているか、まだ言えないんだね。
答に窮したら煽って胡麻化す。そんなことばかりしてるから進歩しない。
かわいそうな人だ。
275:デフォルトの名無しさん
08/05/05 11:53:26
>>273
くやしいのうwwくやしいのうwwwww
276:デフォルトの名無しさん
08/05/05 11:53:52
言えない言えないw
277:デフォルトの名無しさん
08/05/05 11:54:19
Ruby使ってる人って、こんな腐った連中ばかりなの?
278:デフォルトの名無しさん
08/05/05 11:54:54
>>277
腐ってるというより、頭がおかしいよね。気が狂ってるよ。
279:デフォルトの名無しさん
08/05/05 11:54:57
打てば響く
ナイス煽りw
280:デフォルトの名無しさん
08/05/05 11:55:55
>>277
そうだよ、興味があるなら鬼車で調べてみるといいよ、どれだけ腐ってるかわかるから。
281:デフォルトの名無しさん
08/05/05 11:56:49
まだしばらくやってるよな?
282:デフォルトの名無しさん
08/05/05 11:59:39
もうクロージャ歴終わりか?
283:デフォルトの名無しさん
08/05/05 11:59:40
Rubyの人って、全然技術的な話をしないんだね。
defのネストの話が出てからずっと、技術的は話は批判派がするだけで、
Rubyの人は「論点が違う」とか言い訳ばかりで技術の話は全然してない。
ひょっとしてRubyの人は技術力がないってこと?
284:デフォルトの名無しさん
08/05/05 12:00:30
今度は技術力w
285:デフォルトの名無しさん
08/05/05 12:01:47
もう暫く続きそうだなw
286:デフォルトの名無しさん
08/05/05 12:03:04
>>284
こうやって誤魔化すしかなくなっちゃいましたw
287:デフォルトの名無しさん
08/05/05 12:03:33
ここは一応技術系の板の、技術系スレのはずなんだが、
どうして技術力と書いてあると「w」で答えるのか、ワケワカラン…
288:デフォルトの名無しさん
08/05/05 12:03:47
俺はもう少しクロージャ歴で盛り上がりたかったけどな
289:デフォルトの名無しさん
08/05/05 12:04:41
>>288
じゃあお前が答えたらどうだ?
290:デフォルトの名無しさん
08/05/05 12:05:36
さあ、>>288のクロージャ歴が今、明らかにされます。
20年でしょうか?それとも30年でしょうか?50年の大台は?
↓↓↓↓さあ、>>288さん、どうぞ↓↓↓↓
291:デフォルトの名無しさん
08/05/05 12:05:53
つまらん
292:デフォルトの名無しさん
08/05/05 12:06:23
さあ、>>288のクロージャ歴が今、明らかにされます。
20年でしょうか?それとも30年でしょうか?50年の大台は?
↓↓↓↓さあ、>>288さん、どうぞ↓↓↓↓
293:デフォルトの名無しさん
08/05/05 12:15:37
>>258
「関数」も「クロージャ」もRubyにはそういうものはない。
「Kernelモジュールで定義されているメソッド」のことを、どこからでも
関数形式で呼び出せるので「関数」と呼ぶことがある。
「ブロック」や「Procオブジェクト」は、定義された時の環境を持ち運んで
いるので、一般にいうクロージャである。
294:デフォルトの名無しさん
08/05/05 12:33:57
まぁ冷静にスレを眺める限り、Rubyアンチの完敗だね。
論理、知識、精神性、あらゆる点で叩きのめされている。
敗北が決まってから一層ねちっこくなるあたり、実に見苦しいw
295:デフォルトの名無しさん
08/05/05 12:34:43
>>293
つまり、Procオブジェクトはクロージャということでしょ?
ということはProcオブジェクトは関数でもあるわけだ。
結論としては、
「Rubyでは関数やクロージャはProcオブジェクトとして実装されている」
ということになるんじゃないのか?
296:デフォルトの名無しさん
08/05/05 12:40:24
Ruby使いって最後の書き込みで勝ったことにしておかないと気がすまないタイプなんですね
297:デフォルトの名無しさん
08/05/05 12:42:56
クロージャ歴で1000を目指すスレはここですか?
298:デフォルトの名無しさん
08/05/05 12:43:07
>>295
「ブロック」はクロージャだが「Procオブジェクト」じゃないし
「Kernelモジュールのメソッド」も「Procオブジェクト」じゃない
299:デフォルトの名無しさん
08/05/05 12:46:26
>>298
ブロックの話もKernel moduleのメソッドの話もしていない。
Procオブジェクトはクロージャであり関数であるのだから、
Rubyではクロージャや関数はProcオブジェクトとして実装されているだろ、
っていうだけの簡単な話だ。
300:デフォルトの名無しさん
08/05/05 12:55:37
結局るび厨ってこのスレで何をしたいんだ?煽ってるだけにしか見えないのだが。
301:デフォルトの名無しさん
08/05/05 13:00:14
>>299
> Procオブジェクトはクロージャであり関数であるのだから、
> Rubyではクロージャや関数はProcオブジェクトとして実装されているだろ、
> っていうだけの簡単な話だ。
おまえの脳味噌の出来が簡単だって話だ。
Rubyではネストしたdefで定義されるメソッドやブロックだってクロージャだし、
Rubyで「関数」と呼ばれているものはProcオブジェクトじゃない。
お前が勝手に「関数」と定義しているものが、RubyではProcオブジェクトらしいが、
お前がそう思ってるってことは他人の知ったこっちゃないってこった。
302:デフォルトの名無しさん
08/05/05 13:04:14
>>301
はいはい、ルビー語が世の中で絶対だと思ってる厨房ちゃんはそう喚いていなさい。
世間では↓のようになってますよ。
Wikipedia項目リンク
Wikipedia項目リンク
ほんとルビー厨ってコミュニケーション能力が低いんだな・・・
303:デフォルトの名無しさん
08/05/05 13:07:52
名前なんてただの飾りですよ
エロいひとにはをれが分からんのです
(AAry
304:デフォルトの名無しさん
08/05/05 13:11:19
>>300
Rubyに欠点なんて存在しないということにしないと困るんじゃないか?
>>294とかまさにそうだし
305:デフォルトの名無しさん
08/05/05 13:13:04
なぜRubyのアンチは会話というものができないのか?
やっぱりあれかな、妬みで動く思考停止した豚とか猿の群だからかな。
306:デフォルトの名無しさん
08/05/05 13:13:20
>>161
キリスト教にしろ仏教にしろイスラム教にしろ
教祖よりも弟子が広めたんだからな
307:デフォルトの名無しさん
08/05/05 13:14:38
>>305はこのスレで何をしたいんだ?煽ってるだけにしか見えないのだが。
308:デフォルトの名無しさん
08/05/05 13:15:11
ネストしていようがレキシカル変数にアクセスしていようが
おかまいなしの JavaScript の function() が最強ってことだな
309:デフォルトの名無しさん
08/05/05 13:15:20
「Rubyでは」と言ってる時点で、Ruby限定のジャーゴンではなく
一般のプログラミング言語の技術要素としての「関数」や「クロージャ」
であることは明らかなのに、あくまでRubyジャーゴンで話を続けようと
するところが「ゆとり」の香りを感じさせる。
310:デフォルトの名無しさん
08/05/05 13:16:05
>>307
煽りたいだけの能無しアンチを馬鹿にしてるんだろう。
311:デフォルトの名無しさん
08/05/05 13:16:24
>>302
だから、例えば、
C言語のvoidな関数はプロシージャと呼ぶべきで、関数と呼ぶのはおかしい、
とか叫んでも、相手にされないでしょ?
言語仕様(Rubyにはないけどw)的に定まっている用語法と、一般の用語法を
ごっちゃにすんな、って話。
312:デフォルトの名無しさん
08/05/05 13:18:35
>>311
まあ、落ち着いて>>309でも読んでみたらどうだろう?
313:デフォルトの名無しさん
08/05/05 13:18:51
というか関数・メソッド・プロシージャ・クロージャの区別というか定義って言語によって違うよな?
314:デフォルトの名無しさん
08/05/05 13:20:04
>>311
「C言語では、プロシージャはvoid関数として実装されている」という主張は普通に通るが?
315:デフォルトの名無しさん
08/05/05 13:20:07
>>310
馬鹿にしてるつもりで同じレベルに成り下がってる馬鹿
316:デフォルトの名無しさん
08/05/05 13:20:17
URLリンク(www.amazon.co.jp)
p.165
「おっ。俺もできたぜっ」
同僚が、仕事があるはずなのにそれを横において、昼休みからずっと何かを作り続けていたみたいです。
すごいうれしそうな顔をしてこっちを見ろ、というふうにディスプレイを指差してします。
「おおっ。同じように動いている・・・」
「これ、Pythonで作ったんだ」
なぜか同僚が勝ち誇ったように言ってきます。
(別に、COMで操作できればどんな言語でも同じことはできるんだけど・・・)
「それで、そのスクリプトは何行くらいなの?」
「えっと、ちょっと調べるな・・・」
見てみると、やっている内容は似たようなものなのに、Rubyで書いたバージョンのほうが行数が短そうです。
(へへん!)
同僚にバレないように、心の中でガッツポーズをしたのでした。
----
ちなみに本のなかで紹介されている
RubyとPythonで同じことをしている
COMのソースの行数は同じでした
317:デフォルトの名無しさん
08/05/05 13:20:51
アンチの面白いところの一つは、
ツッコミがあまりに稚拙だから返り討ちにあってるだけなのに、
その構図をどうしても認めたくないあまり、誰一人主張していない
「Rubyは完全なる言語なのだ!」
というのが相手の根底にあると、必死にアピールすることだね。
そんな自爆してる間に、せめて高校1年くらいのレベルのツッコミでいいから
頑張って書けばいいのにね。
318:デフォルトの名無しさん
08/05/05 13:22:14
>>315
自己紹介? 自分を卑下して何が面白いのかわからないけど。
マゾかな。
319:デフォルトの名無しさん
08/05/05 13:23:46
>>318
いいえ、紛れもなく>>310の紹介です
320:デフォルトの名無しさん
08/05/05 13:23:53
>>313
その点では「クロージャ」という語は>>293もちゃんと「Procオブジェクト」で実装
されているものと理解できているわけよ。どうも>>293は「AはBの実装である」
は正しくても「BはAとして実装されている」は間違いと主張したい人みたいなんだ。
ワケワカラン。
>>293
> 「ブロック」や「Procオブジェクト」は、定義された時の環境を持ち運んで
> いるので、一般にいうクロージャである。
321:デフォルトの名無しさん
08/05/05 13:25:00
>>316
end がある Ruby の方が不利だろ
322:デフォルトの名無しさん
08/05/05 13:25:25
>>317
それはあるね。
放っておいた方が面白いから、敢えて突っ込まなかったけど。
323:デフォルトの名無しさん
08/05/05 13:27:07
Ruby使いからすれば具体的内容を伴わなず「論点がずれてる」、「説明になってない」と返せば返り討ちにしたということになるのか
324:デフォルトの名無しさん
08/05/05 13:28:44
>>323
それがRubyクオリティwww
325:デフォルトの名無しさん
08/05/05 13:30:03
このスレのRuby信者のレベルを見れば、Rubyという言語の程度が知れるね。
326:デフォルトの名無しさん
08/05/05 13:36:25
中にはたまに変なのがいる、という程度なら普通だけど、
rubyの場合にはあまりにも厨房率が高すぎる。
327:デフォルトの名無しさん
08/05/05 13:53:39
創始者が厨房だからしょうがないよ。
328:デフォルトの名無しさん
08/05/05 13:56:19
>>316
なにこのバカ二人
329:デフォルトの名無しさん
08/05/05 14:00:37
>>316
カルトって怖いな(W
330:デフォルトの名無しさん
08/05/05 14:03:13
Python相手に行数の話ですか・・・
とかいうレベル以前の問題だな。
331:デフォルトの名無しさん
08/05/05 15:25:58
URLリンク(c2.com)
WyPy
11 lines, 814 chars of Python
WyRiki
20 lines, 1,361 chars of Ruby (technique shamelessly stolen from WyPy)
手法をパクって負けるってどういうことだ(wwwww
332:デフォルトの名無しさん
08/05/05 16:00:19
たったn行で・・・みたいなのが流行ってたねえ(遠い目)
あれ何だったんだろう
何の役にも立たず、厨ばかり増やしただけだったんじゃなかろうか
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5334日前に更新/182 KB
担当:undef