[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 23:45 / Filesize : 182 KB / Number-of Response : 947
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 18:43:28 ]
前スレ
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1188997302/

293 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:15:37 ]
>>258
「関数」も「クロージャ」もRubyにはそういうものはない。

「Kernelモジュールで定義されているメソッド」のことを、どこからでも
関数形式で呼び出せるので「関数」と呼ぶことがある。

「ブロック」や「Procオブジェクト」は、定義された時の環境を持ち運んで
いるので、一般にいうクロージャである。

294 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:33:57 ]
まぁ冷静にスレを眺める限り、Rubyアンチの完敗だね。
論理、知識、精神性、あらゆる点で叩きのめされている。
敗北が決まってから一層ねちっこくなるあたり、実に見苦しいw

295 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:34:43 ]
>>293
つまり、Procオブジェクトはクロージャということでしょ?
ということはProcオブジェクトは関数でもあるわけだ。
結論としては、
「Rubyでは関数やクロージャはProcオブジェクトとして実装されている」
ということになるんじゃないのか?

296 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:40:24 ]
Ruby使いって最後の書き込みで勝ったことにしておかないと気がすまないタイプなんですね

297 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:42:56 ]
クロージャ歴で1000を目指すスレはここですか?

298 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:43:07 ]
>>295
「ブロック」はクロージャだが「Procオブジェクト」じゃないし
「Kernelモジュールのメソッド」も「Procオブジェクト」じゃない

299 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:46:26 ]
>>298
ブロックの話もKernel moduleのメソッドの話もしていない。

Procオブジェクトはクロージャであり関数であるのだから、
Rubyではクロージャや関数はProcオブジェクトとして実装されているだろ、
っていうだけの簡単な話だ。

300 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:55:37 ]
結局るび厨ってこのスレで何をしたいんだ?煽ってるだけにしか見えないのだが。

301 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:00:14 ]
>>299
> Procオブジェクトはクロージャであり関数であるのだから、
> Rubyではクロージャや関数はProcオブジェクトとして実装されているだろ、
> っていうだけの簡単な話だ。

おまえの脳味噌の出来が簡単だって話だ。
Rubyではネストしたdefで定義されるメソッドやブロックだってクロージャだし、
Rubyで「関数」と呼ばれているものはProcオブジェクトじゃない。

お前が勝手に「関数」と定義しているものが、RubyではProcオブジェクトらしいが、
お前がそう思ってるってことは他人の知ったこっちゃないってこった。



302 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:04:14 ]
>>301
はいはい、ルビー語が世の中で絶対だと思ってる厨房ちゃんはそう喚いていなさい。
世間では↓のようになってますよ。
ja.wikipedia.org/wiki/%E3%82%B5%E3%83%96%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3
ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3

ほんとルビー厨ってコミュニケーション能力が低いんだな・・・

303 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:07:52 ]
名前なんてただの飾りですよ
エロいひとにはをれが分からんのです
(AAry

304 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:11:19 ]
>>300
Rubyに欠点なんて存在しないということにしないと困るんじゃないか?
>>294とかまさにそうだし

305 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:13:04 ]
なぜRubyのアンチは会話というものができないのか?

やっぱりあれかな、妬みで動く思考停止した豚とか猿の群だからかな。

306 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:13:20 ]
>>161
キリスト教にしろ仏教にしろイスラム教にしろ
教祖よりも弟子が広めたんだからな


307 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:14:38 ]
>>305はこのスレで何をしたいんだ?煽ってるだけにしか見えないのだが。

308 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:15:11 ]
ネストしていようがレキシカル変数にアクセスしていようが
おかまいなしの JavaScript の function() が最強ってことだな

309 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:15:20 ]
「Rubyでは」と言ってる時点で、Ruby限定のジャーゴンではなく
一般のプログラミング言語の技術要素としての「関数」や「クロージャ」
であることは明らかなのに、あくまでRubyジャーゴンで話を続けようと
するところが「ゆとり」の香りを感じさせる。

310 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:16:05 ]
>>307
煽りたいだけの能無しアンチを馬鹿にしてるんだろう。

311 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:16:24 ]
>>302
だから、例えば、
C言語のvoidな関数はプロシージャと呼ぶべきで、関数と呼ぶのはおかしい、
とか叫んでも、相手にされないでしょ?

言語仕様(Rubyにはないけどw)的に定まっている用語法と、一般の用語法を
ごっちゃにすんな、って話。



312 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:18:35 ]
>>311
まあ、落ち着いて>>309でも読んでみたらどうだろう?

313 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:18:51 ]
というか関数・メソッド・プロシージャ・クロージャの区別というか定義って言語によって違うよな?

314 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:20:04 ]
>>311
「C言語では、プロシージャはvoid関数として実装されている」という主張は普通に通るが?

315 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:20:07 ]
>>310
馬鹿にしてるつもりで同じレベルに成り下がってる馬鹿

316 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:20:17 ]
ttp://www.amazon.co.jp/products/dp/4839926689

p.165

「おっ。俺もできたぜっ」

同僚が、仕事があるはずなのにそれを横において、昼休みからずっと何かを作り続けていたみたいです。
すごいうれしそうな顔をしてこっちを見ろ、というふうにディスプレイを指差してします。

「おおっ。同じように動いている・・・」
「これ、Pythonで作ったんだ」
なぜか同僚が勝ち誇ったように言ってきます。

(別に、COMで操作できればどんな言語でも同じことはできるんだけど・・・)

「それで、そのスクリプトは何行くらいなの?」
「えっと、ちょっと調べるな・・・」

見てみると、やっている内容は似たようなものなのに、Rubyで書いたバージョンのほうが行数が短そうです。

(へへん!)
同僚にバレないように、心の中でガッツポーズをしたのでした。


----
ちなみに本のなかで紹介されている
RubyとPythonで同じことをしている
COMのソースの行数は同じでした


317 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:20:51 ]
アンチの面白いところの一つは、
ツッコミがあまりに稚拙だから返り討ちにあってるだけなのに、
その構図をどうしても認めたくないあまり、誰一人主張していない
「Rubyは完全なる言語なのだ!」
というのが相手の根底にあると、必死にアピールすることだね。

そんな自爆してる間に、せめて高校1年くらいのレベルのツッコミでいいから
頑張って書けばいいのにね。

318 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:22:14 ]
>>315
自己紹介? 自分を卑下して何が面白いのかわからないけど。
マゾかな。

319 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:23:46 ]
>>318
いいえ、紛れもなく>>310の紹介です

320 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:23:53 ]
>>313
その点では「クロージャ」という語は>>293もちゃんと「Procオブジェクト」で実装
されているものと理解できているわけよ。どうも>>293は「AはBの実装である」
は正しくても「BはAとして実装されている」は間違いと主張したい人みたいなんだ。
ワケワカラン。

>>293
> 「ブロック」や「Procオブジェクト」は、定義された時の環境を持ち運んで
> いるので、一般にいうクロージャである。


321 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:25:00 ]
>>316
end がある Ruby の方が不利だろ



322 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:25:25 ]
>>317
それはあるね。
放っておいた方が面白いから、敢えて突っ込まなかったけど。

323 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:27:07 ]
Ruby使いからすれば具体的内容を伴わなず「論点がずれてる」、「説明になってない」と返せば返り討ちにしたということになるのか

324 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:28:44 ]
>>323
それがRubyクオリティwww

325 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:30:03 ]
このスレのRuby信者のレベルを見れば、Rubyという言語の程度が知れるね。

326 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:36:25 ]
中にはたまに変なのがいる、という程度なら普通だけど、
rubyの場合にはあまりにも厨房率が高すぎる。

327 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:53:39 ]
創始者が厨房だからしょうがないよ。

328 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:56:19 ]
>>316
なにこのバカ二人

329 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 14:00:37 ]
>>316
カルトって怖いな(W

330 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 14:03:13 ]
Python相手に行数の話ですか・・・
とかいうレベル以前の問題だな。

331 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 15:25:58 ]
ttp://c2.com/cgi/wiki?ShortestWikiContest

WyPy
11 lines, 814 chars of Python

WyRiki
20 lines, 1,361 chars of Ruby (technique shamelessly stolen from WyPy)

手法をパクって負けるってどういうことだ(wwwww



332 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 16:00:19 ]
たったn行で・・・みたいなのが流行ってたねえ(遠い目)

あれ何だったんだろう

何の役にも立たず、厨ばかり増やしただけだったんじゃなかろうか

333 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 16:24:58 ]
>>325
具体的内容を伴ったこと書かないと、>>323に突っ込まれますよw

334 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:48:44 ]
もう飽きたのかアンチRuby厨

335 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 18:27:06 ]
あるプログラミング言語の信者と呼ばれるような人の心情は理解できる
でもアンチ側の人の心情は理解できない
面白半分でからかっているにしてはエネルギー注ぎ込み過ぎだし

336 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 18:30:29 ]
あるプログラミング言語の信者と呼ばれるような人の心情は理解できる
でもRuby厨と呼ばれる狂信者の心情は理解できない
面白半分でからかっているにしてはエネルギー注ぎ込み過ぎだし

337 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:36:12 ]
>>336
「狂信者」の話なのに「面白半分でからかっているにしては」って変だろう。改変し足りないぞw

338 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:40:56 ]
>>337
さすが煽りと改変のプロですな、るび厨は

339 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:42:56 ]
というか、信者もアンチも関係なく、>>336個人が猛烈に馬鹿なんだと思うよ。

340 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:44:54 ]
※336以外には噛み付く理由がまったく生まれないフリなので、
  残りの人達は生温かく見守ってあげて下さい。

341 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:57:00 ]
あいかわらず煽りのための煽りしかできないんだね、rubyの人って。
頭おかしいんじゃねーの?



342 名前:341 mailto:sage [2008/05/05(月) 19:57:41 ]
ちなみに俺は336じゃないから。念のため。

343 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:07:29 ]
>>340
ここはLL言語の技術的比較をおこなうスレだ。勝手に私物化するな、キチガイ野郎。

344 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:26:40 ]
LLを知ってる人間はここにいるのか?

345 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:30:22 ]
中傷に必死だけど、「LL言語」とか書いちゃう自分には寛容な
ちょっとアレな人間ならいるね。

346 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:38:16 ]
「LL」が軽量、軽負荷言語なのであって、「LL言語」だと言語が被るよな。

347 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:40:59 ]
前スレは知らないけど新スレ出来てから技術的な話は一つも出てないな

348 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:48:54 ]
ネストしたdefの話はなかったことにしたいわけね

349 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:51:28 ]
うーん、何が技術的な話かにも大きな隔たりがある様だ。

350 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:57:00 ]
defのネストは言語仕様の話じゃないの?

351 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:57:34 ]
アンチのレベルが低すぎるから技術的な話にならないw



352 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:58:24 ]
>>346
HTML言語とかPerl言語の仲間だね。
最後に付くLが必ずしもLanguageのLってわけではないけど、
まぁ普通のプログラマなら、経験上「最後がLだったらそれを疑う」習慣は身についてる。
そこにすら至れない、感性がダメダメな人を見分けるには、いいリトマス試験紙かもしれないね。
LL言語(笑)。

353 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:07:38 ]
すばらしい技術的議論ですね。感服しましたw

354 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:15:15 ]
このスレでrubyistが書いた唯一の技術的主張

> 184 名前:デフォルトの名無しさん [sage]: 2008/05/04(日) 22:50:00
> >>178
> 確かに必須の機能じゃないと思うけど、無駄な機能くらいならあっても良いよ。
> 具体的に示せの人みたいに興奮する程の欠点じゃないと思うんだが。

さすがrubyist w

355 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:15:33 ]
OOPプログラミングは糞

356 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:17:33 ]
Object Oriented Prototype プログラミングは糞だと言うのか。
理由を説明してくれないか?

357 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:17:49 ]
関数系一人勝ち?

358 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:19:55 ]
全然勝っていないじゃない
生き残ってるだけ

もっと勝って欲しいけど

359 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:25:00 ]
関数型のLLって何がある?
MLやHaskellをLLと呼ぶのは強い抵抗があるのだが。

360 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:29:11 ]
何で?

361 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:38:01 ]
Lightweightと呼ぶにはリソース食いすぎると思う。



362 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:39:35 ]
>>361
そういう意味の軽量じゃないと思うけど

363 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:51:44 ]
>>361
それ言い出すと、rubyもLLじゃなくなるぞw

364 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:21:34 ]
>>350
というか、あれは「別にネストしてるわけではない」。
ネストしている何かのように見えるのは確かで、しかも既存の言語習得者ほぼ全員が一度は引っかかるんだが、ネストではない。

class C
def aaa
def bbb
mmm
end
hoge
bbb
end
end

は、メソッド aaa が実行された瞬間に クラス C に メソッド bbb が定義される。
それ以上の何かではない。

365 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:39:27 ]
>既存の言語習得者ほぼ全員が一度は引っかかる
関数型言語の人間は面白いように引っかかるな
ていうか言語使用前にマニュアルくらいはさらっとでも読んで欲しいもんだが…

366 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:43:10 ]
じゃあaaaは何かが実行された時に定義されるのか? っていうあたりでモメてるんだろ。
見た目がネストなだけに。

367 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:44:11 ]
Rubyは下手するとマニュアルドコー?な言語だから

368 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:46:49 ]
>アンチ側の人の心情は理解できない
>面白半分でからかっているにしてはエネルギー注ぎ込み過ぎだし

Ruby創始者のまつもとって人とその取り巻きがが様々なところで物議醸す発言や行動を繰り返して敵を作りまくったからだよ。

369 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:52:57 ]
>>364
それを構文的にネストしていると言うんだよ。

370 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:56:48 ]
ところで>>365に引っかからないためのRubyのマニュアルってあるの?

371 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:04:40 ]
>>370
ttp://www.ruby-lang.org/ja/man/html/_A5AFA5E9A5B9A1BFA5E1A5BDA5C3A5C9A4CEC4EAB5C1.html#a.a5.e1.a5.bd.a5.c3.a5.c9.c4.ea.b5.c1.a4.ce.a5.cd.a5.b9.a5.c8



372 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:10:43 ]
>>365
別に関数型人種じゃなくても、Pascalとかgcc拡張CとかDとか使ってると普通にはまる。

373 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:14:00 ]
>>364
あのー、>>371のリンク先に

> メソッド定義のネスト
> 特異メソッド定義を除くメソッド定義式は ネストできません。
> ruby 1.7 feature: 1.7 以降ネスト可能になりました。ネストされた定
> 義式はそれを定義したメソッドが実行された時に定義されます。こ
> のことを除けば、普通のメソッド定義式と同じです。以下の例を参
> 照してください。

とあるんですが…
Rubyの現バージョンはメソッド定義のネストができるという理解でいいですね?

374 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:14:19 ]
自分は特にはまりませんでした

375 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:18:27 ]
俺も、defのネストが構文的に許されていると知らなかったから
わざわざそんなコードは書かなかった。普通にprocやblockを使った。

でも、この用法のdefのネストが許されているのは有害だと思う。
というか、Ruby式のdefのネストを使う利点が全くわからない。
利点がない以上、構文規則で禁止するべきだと思うのだが。

376 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:24:33 ]
勘違いさえしなければメソッド内でメソッドを追加できる便利機能だと思うぞ

377 名前:デフォルトの名無しさん [2008/05/05(月) 23:31:14 ]
なんで言語信者同士の煽り合いになってるんだ??
前スレはもう少し生産的だったのに・・・
アンチスレからでてくんな

378 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:32:23 ]
> Rubyの現バージョンはメソッド定義のネストができるという理解でいいですね?
いいえ

379 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:36:51 ]
>>376
便利と言うには>>99の言うような制約が強すぎると思うが。
特に、外側のメソッドを定義しているクラスにしか追加されないんだろ?

例えば
Class Foo
  def define_hello
    def hello
      puts "Hello"
    end
  end
end

Class Bar < Foo
end

kind_of_foo = Bar.new
kind_of_foo.define_hello()
foo = Foo.new
foo.hello()

では、Barクラスのオブジェクトにdefine_helloしているのに
helloメソッドがBarクラスでなくFooクラスに定義されるのだが、
これは不自然じゃないのか?

380 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:38:12 ]
>>378
では>>371のリンク先のドキュメントには嘘が書いてあるということですね?
「ruby 1.7 feature: 1.7 以降ネスト可能になりました。」と明記されていますよ。

381 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:46:53 ]
構文上ネストして記述ができるが、挙動としては他の言語とは異なるということ。



382 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:49:56 ]
>>381
つまり、
(1) Ruby 1.7以降ではメソッド定義のネストが許されている。
(2) したがって>>364の「あれは別にネストしてるわけではない。」は誤りである。
ということだな。

383 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:56:37 ]
>>379
それは逆のほうが不自然でしょ
少なくとも自分にとってはそう

def define_hello
self.class.class_eval{ def hello; end }
end

という手もあるし

384 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:57:31 ]
「ネストしている」って言ったらメソッド内スコープのメソッドのことだと思うぜ
というか、勘違いする奴が多いって言うのはそういうことだろ

385 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:00:22 ]
def を文法上入れ子にすることはできるが、
メソッド定義としてネストされてるわけではない、ってことかね

386 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:02:05 ]
>>365
>関数型言語の人間

関数型言語の人間はまずlambdaを使うんじゃないの。
top level以外でdefを使うのであれば、スコープが
どうなっているかは事前にテストすると思う。

387 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:04:00 ]
>>383
Barクラスの実行コンテキストでメソッド定義しているのに
定義されるのはFooクラスのメソッドというのは直感に反するよ。
定義されるタイミングは実行時のくせに、定義される動作はパース時の静的スコープ。
ちぐはぐだよ。

388 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:05:50 ]
>>386
テストしてもRubyのふるまいってバージョンごとに結構かわるんだよね。
例えばProcオブジェクトの中からreturnする時の動作。これがバージョン毎に違う。

389 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:07:17 ]
動作が変わらないとしたらバージョン変えた意味があるん?

390 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:08:09 ]
>>389 ( ゚д゚)ポカーン

391 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:10:07 ]
>>388
それはまた別の問題だね。
もし不安定なインターフェイスなのであれば尚更テストが必要だ。
あるいは別の言語に移行するか。



392 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:11:50 ]
>>387
class Base
def hello
end
end

class Foo < Base
  def hello
super
  end
end

class Bar < Foo
end

としたとき、Bar.new.hello は Bar にとっての super の hello が呼び出されるべき?

393 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:12:31 ]
>>389
まあバージョン変わったんだったら動作が変わっても文句言えないよな
バージョン変わってないのに動作が変わったなら文句言っていい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<182KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef