【Perl,PHP】LLバトル ..
[2ch|▼Menu]
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行で・・・みたいなのが流行ってたねえ(遠い目)

あれ何だったんだろう

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

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

334:デフォルトの名無しさん
08/05/05 17:48:44
もう飽きたのかアンチRuby厨

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

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

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

338:デフォルトの名無しさん
08/05/05 19:40:56
>>337
さすが煽りと改変のプロですな、るび厨は

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

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

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

342:341
08/05/05 19:57:41
ちなみに俺は336じゃないから。念のため。

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

344:デフォルトの名無しさん
08/05/05 20:26:40
LLを知ってる人間はここにいるのか?

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

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

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

348:デフォルトの名無しさん
08/05/05 20:48:54
ネストしたdefの話はなかったことにしたいわけね

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

350:デフォルトの名無しさん
08/05/05 20:57:00
defのネストは言語仕様の話じゃないの?

351:デフォルトの名無しさん
08/05/05 20:57:34
アンチのレベルが低すぎるから技術的な話にならないw

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

353:デフォルトの名無しさん
08/05/05 21:07:38
すばらしい技術的議論ですね。感服しましたw

354:デフォルトの名無しさん
08/05/05 21:15:15
このスレでrubyistが書いた唯一の技術的主張

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

さすがrubyist w

355:デフォルトの名無しさん
08/05/05 21:15:33
OOPプログラミングは糞

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

357:デフォルトの名無しさん
08/05/05 21:17:49
関数系一人勝ち?

358:デフォルトの名無しさん
08/05/05 21:19:55
全然勝っていないじゃない
生き残ってるだけ

もっと勝って欲しいけど

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

360:デフォルトの名無しさん
08/05/05 21:29:11
何で?

361:デフォルトの名無しさん
08/05/05 21:38:01
Lightweightと呼ぶにはリソース食いすぎると思う。

362:デフォルトの名無しさん
08/05/05 21:39:35
>>361
そういう意味の軽量じゃないと思うけど

363:デフォルトの名無しさん
08/05/05 21:51:44
>>361
それ言い出すと、rubyもLLじゃなくなるぞw

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

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

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

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

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

367:デフォルトの名無しさん
08/05/05 22:44:11
Rubyは下手するとマニュアルドコー?な言語だから

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

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

369:デフォルトの名無しさん
08/05/05 22:52:57
>>364
それを構文的にネストしていると言うんだよ。

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

371:デフォルトの名無しさん
08/05/05 23:04:40
>>370
URLリンク(www.ruby-lang.org)

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

373:デフォルトの名無しさん
08/05/05 23:14:00
>>364
あのー、>>371のリンク先に

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

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

374:デフォルトの名無しさん
08/05/05 23:14:19
自分は特にはまりませんでした

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

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

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

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

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

379:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/05 23:38:12
>>378
では>>371のリンク先のドキュメントには嘘が書いてあるということですね?
「ruby 1.7 feature: 1.7 以降ネスト可能になりました。」と明記されていますよ。

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

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

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

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

という手もあるし

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

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

386:デフォルトの名無しさん
08/05/06 00:02:05
>>365
>関数型言語の人間

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

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

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

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

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

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

392:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/06 00:12:31
>>389
まあバージョン変わったんだったら動作が変わっても文句言えないよな
バージョン変わってないのに動作が変わったなら文句言っていい

394:デフォルトの名無しさん
08/05/06 00:13:18
>>387
その考えもわかるけどね

395:デフォルトの名無しさん
08/05/06 00:15:56
>>387
クロージャだと思って使うから違和感があるんじゃないの。
クロージャが欲しいならProcとかlambdaを使えば良いのに、
そうしたくない理由があるの?

396:デフォルトの名無しさん
08/05/06 00:16:12
>>392
superはそのメソッドが定義されているクラスのスーパークラスからメソッド探索するためのもので、
当然パース時の静的スコープからクラスが決定される。
メソッドのオーバーライドと組にして使うものなのだから当然の話だろ。
それとdefによるメソッド定義は全然別の話だ。
なぜごちゃ混ぜにしたがるのか理解に苦しむ。

397:デフォルトの名無しさん
08/05/06 00:17:04
387のどこにクロージャの話があると思えるのだろう。不思議な人がいるなあ。

398:デフォルトの名無しさん
08/05/06 00:19:09
クロージャからのreturnという、かなり基本的なセマンティクスがコロコロ変わるのは問題だろ。

399:デフォルトの名無しさん
08/05/06 00:20:00
>>397
きのうクロージャおぼえたばかりなんだよw

400:デフォルトの名無しさん
08/05/06 00:28:04
>>397
環境と手続きを、レキシカルなスコープで持ち回りたいならクロージャ。

401:デフォルトの名無しさん
08/05/06 00:29:59
>>400
387のどこに環境と手続きを持ち回る話があるんだろうか。。。

402:デフォルトの名無しさん
08/05/06 00:32:35
defのネストって1.7から意図的に導入したのかよ、どういう意図だったんだろう?

403:デフォルトの名無しさん
08/05/06 00:35:03
>>401
helloをFooに入れるかBarに入れるか自分で選べれば問題は無い。

404:デフォルトの名無しさん
08/05/06 00:36:05
>>403
387のどこに環境と手続きを持ち回る話があるのか、答えなさい。

405:デフォルトの名無しさん
08/05/06 00:37:36
>>403はリア厨だから相手にするな。

406:デフォルトの名無しさん
08/05/06 00:38:20
>>404
お前が読み取れないだけだろ。

407:デフォルトの名無しさん
08/05/06 00:39:40
>>402
通常のメソッド定義と同じ構文を使って、メソッド中でメソッド定義をしたい人がいたんじゃないの?
普通の人は使わない=挙動がわかっている人しか使わないから、困ることはあまりない。

なんでこんなにこの話題で盛り上がっているのかよくわからんよ...。

408:デフォルトの名無しさん
08/05/06 00:39:50
>>406
俺は>>404だが、俺も環境や手続きを持ち回るようなことを話題にしていない。

409:デフォルトの名無しさん
08/05/06 00:41:04
>>407
どうしてわざわざ同じ構文を使いたいんだろうね?利点がさっぱりわからん。

410:デフォルトの名無しさん
08/05/06 00:41:42
>>408
だーかーらー、キチガイを相手にするのやめろって。
相手は内容もわからずにただ煽っているだけなんだから。

411:デフォルトの名無しさん
08/05/06 00:42:31
>>407
>普通の人は使わない=挙動がわかっている人しか使わないから、困ることはあまりない。

それが普通なんだが、このスレにはどうしても使いたい人間がいるらしい。
しかも挙動が気に喰わないんだと。

412:デフォルトの名無しさん
08/05/06 00:43:49
>>408
あんたが>>387なら分かるけど>>404って・・・

413:404
08/05/06 00:45:07
>>412
ああ、俺は>>387だが、俺も環境や手続きを持ち回るようなことを話題にしていないよ。

414:デフォルトの名無しさん
08/05/06 00:46:20
今更知るかボケ

415:今日の爆笑トーク
08/05/06 00:46:50

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


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

416:デフォルトの名無しさん
08/05/06 00:46:55
定数の探索も実行時じゃなくてパース時のスコープだよね。

class Foo
 A = 1
 class Bar
  def a
   p A
  end
 end
end
Foo::Bar.new.a

これは 1 を出力するけど、

class Foo
 A = 1
end
class Foo::Bar
 def a
  p A
 end
end
Foo::Bar.new.a

こっちは uninitialized constant Foo::Bar::A エラー。

Ruby はそういうもん。慣れればどうということはない。

417:デフォルトの名無しさん
08/05/06 00:47:39
>>396
なるほどsuperは確かに無関係だった。

383も言ってるように def...endという定義文じゃなくてメソッドなら期待したように動く。

class Foo
  def define_hello
    self.class.send(:define_method, :hello) do
      puts "Hello"
    end
  end
end

class Bar < Foo
end

kind_of_foo = Bar.new
kind_of_foo.define_hello
kind_of_foo.hello #=> Hello
foo = Foo.new
foo.hello #=> undefined method `hello' for #<Foo:0xb7d19734> (NoMethodError)

メソッドの可視性はあんまり気にしない、
動的にメソッド定義したいならeval系のメソッドを使う、
という脳なので入れ子defの挙動がどうであれ、あんまり困らない。

418:デフォルトの名無しさん
08/05/06 00:48:40
るび厨って、Rubyは絶対に正しいという結論から理由を考えるからね。
で、理由につまったら暴れてスレを荒らしてごまかす。

こんなだからtwitterにも見捨てられるんだよwww

419:デフォルトの名無しさん
08/05/06 00:49:48
結局、defのネストが問題ないという理由は、誰も使わないから、ということか。
なんという無駄な言語仕様なんだろう。。。

420:デフォルトの名無しさん
08/05/06 01:06:16
>>402
URLリンク(blade.nagaokaut.ac.jp)
> この制限のために長らく「メソッドの内側でメソッド定義する場合
> には文字列でeval」というイディオムがあったわけですが、これっ
> て本当に必要な制約ではないですよね。長らくこのチェックを疑問
> に思わず行ってきましたが、ネストを検出してどのくらい嬉しいの
> かということを考えたら不要に感じられてきたので外しました。


421:デフォルトの名無しさん
08/05/06 01:09:24
twitterはミズーリなのだ
彼らには今後ユタの牧草地が待っているだろう

422:デフォルトの名無しさん
08/05/06 01:17:24
>>420
結局まつもと自身の感覚の問題か・・・orz

423:デフォルトの名無しさん
08/05/06 01:17:46
twitterはなあ・・・
Railsでもスケーリング楽勝とか言ってたわりに、
トラブル続きで泣きついて結局原因をフレームワークのせいにしちゃうし
なんというか

424:デフォルトの名無しさん
08/05/06 01:20:01
twitterのコードのほとんどはすでにRoRじゃないらしいよ
Rubyを捨てるかどうかは知らんけど

425:デフォルトの名無しさん
08/05/06 01:30:27
このニュースが出てからRuby(Rails)はもともとプロトタイプ用だってことになっててちょっと苦笑した

426:デフォルトの名無しさん
08/05/06 01:35:40
まさに「Webアプリなめるな」としか言いようがない

427:デフォルトの名無しさん
08/05/06 01:37:42
URLリンク(help.twitter.com)
こっちではすでにPHPだね

428:デフォルトの名無しさん
08/05/06 01:56:50
今夜もruby信者の異常な粘着だけが目立ったな
あたかも自分の信仰を守るために異教徒を攻撃するような態度
こんなだから嫌われるんだということに気付かないのだろうか

429:デフォルトの名無しさん
08/05/06 02:37:23
NGEx:ruby信者|粘着|信仰|異教徒

430:デフォルトの名無しさん
08/05/06 03:02:19
結局、matzにも積極的な理由があったわけじゃなくて、チェックやめただけだったわけね。

431:デフォルトの名無しさん
08/05/06 03:21:06
仕様なのかそれとも実装バグなのかってどうやって確認すればいいの?

432:デフォルトの名無しさん
08/05/06 03:28:24
twitterのバグの出し方は器用だよな
普通に見れるかと思ったら特定の人の発言だけ抜けてたり

433:デフォルトの名無しさん
08/05/06 06:44:44
>>425
プロトタイプを実践で使いこなしちゃうひともいるから
安室とか

434:デフォルトの名無しさん
08/05/06 06:51:09
レイか…

しかしコード片が出ると静まるな

435:デフォルトの名無しさん
08/05/06 12:07:07
>>431
matzが仕様だとゴネれば仕様。
バグだと認めればバグ。

インタプリタが [BUG] という文字列を含んだメッセージを吐いて落ちる
ようなものは問答不要でバグ。

436:デフォルトの名無しさん
08/05/06 13:17:56
過ちを
認めることの
難しさ

437:デフォルトの名無しさん
08/05/06 13:25:11
>>430
それを必死に用語する信者、おもしろいよね。

438:デフォルトの名無しさん
08/05/06 14:32:41
>>435
PSPの□ボタン問題を仕様と言い放ったクタラギと同じにおいを感じさせるなw

439:デフォルトの名無しさん
08/05/06 15:58:30
>>431
まつもとがどっか(ML/るびまetc)で明言したかを確認できればまつもと仕様
明言されてなくてテスト通らなくておかしいなと思った際に
MLに投げてまつもとにバグだと言われたらバグ

「仕様がない」ことの気持ち悪さってこういうこと

440:デフォルトの名無しさん
08/05/06 16:43:39
さすが技術系のスレだな。技術的な話題が満載だw

441:デフォルトの名無しさん
08/05/06 17:14:29
アンチも酷いが信者がもっと酷いからな

442:デフォルトの名無しさん
08/05/06 17:17:00
ソースコードを書かない奴がのさばっているスレはこうなる

443:デフォルトの名無しさん
08/05/06 17:46:45
「Rubyは言語仕様すらない糞言語」まで読んだ。

444:デフォルトの名無しさん
08/05/06 18:49:21
煽りが常駐しているスレが栄える事は無いだろう

445:デフォルトの名無しさん
08/05/06 19:09:40
そんな。隔離スレとして末永く山崎渉をこれからもよろしくね

446:デフォルトの名無しさん
08/05/06 19:32:21
>>439
Ruby使いはこのスレみたいに何か見つけたらガンガン確認メールをメーリングリストに
投げるのがRubyのためになるってことか。
それにしてもはやくかっちりした仕様を提示してほしいなあ。

447:デフォルトの名無しさん
08/05/06 20:03:18
Rubiniusの人たちが作ってるRubySpecが仕様として採用される方向だよ。

URLリンク(ruby-design.pbwiki.com)
RubySpec specs and wiki to be used by implementers and officially blessed

しかし、明示的な仕様があってもなくても、動作が自分の予期した通りでなければ
結局仕様がおかしいという結論になるのは変わらないんじゃないかね。

448:デフォルトの名無しさん
08/05/06 20:06:23
>>447
で、matzがその仕様をどれだけ尊重するかはまた別問題なわけだ。
マイナーバージョンが変わるたびに単純な拡張でなく仕様の変更だらけになったりしたら
仕様が文書化されてもあまりうれしくないような。

449:デフォルトの名無しさん
08/05/06 20:09:39
何をしても納得しない奴は残るだろう

450:デフォルトの名無しさん
08/05/06 20:18:49
そこに書かれている以外の動きをしたらバグってことで。仕様がおかしかろうが決めたらもう
変えないでほしい。そしたら俺はその中でやるよ。
あと書かれていないような使い方については未定義ということで自己責任で使うことみたいな
風にならんかな。

451:デフォルトの名無しさん
08/05/06 20:19:03
え、いくらなんでも BNF ぐらいはあるでしょ
そこにスクリプト・エンジンの環境的な制限を加えれば仕様書のような物ぐらい
用意できるんじゃないの

452:デフォルトの名無しさん
08/05/06 20:28:58
>>451
>え、いくらなんでも BNF ぐらいはあるでしょ

あったらよかったんだけどねえ。

453:デフォルトの名無しさん
08/05/06 20:29:32
>>451
rubyの場合、シンタックスはそのままでセマンティクスだけ変わることがあるから困るの。
せめてシンタックスが違えば最低でも処理系がerrorを出してくれるし、
うまくいけば一定期間warningを出して新しい仕様に合わせることを促すこともできるのに。

454:デフォルトの名無しさん
08/05/06 20:39:03
>>452 例によってyaccのソースならあるw

455:デフォルトの名無しさん
08/05/06 20:50:00
racc

456:デフォルトの名無しさん
08/05/06 20:55:20
      /: :.::.:: : .:/イ´: :/´.. -― ̄`:.=ミ:_..
      /:.: .::.::.::..:/: :.: : / ノ: : : : : : : : : `: .、‐ `ヽ、
     i: .::.::.::.::.:/ .: .::.: :/ .イ:: :. : : : : : : :>.、  \-‐ヘ.
      |.::.::.::.::.:/:: :l.::.: : |/::.::.::..:..: : ヽ:イ_ . :\´: ヽ:.ヽ:ヽ
      !::!::.!::.::ハ::.|::.|: :.|::.::|::.:斗-‐´: : ::.::.::.. : : :ヽ::斗: :.l: :!
    j::.|::.}::.::|::.:斗v:: :.!::.イ::.::.ト、::.:ト、: :ヽ:_::.::.:../ト :l:: : ト:|
   ノ‐ |:/::.:/ イ|:. |::.::ハ::.::.l \:、\: \7'ァミl::.|:: :l }}
       l::l::.:ヽム/ |::.::.::.::.::.ト:斗---`孑` ーイォ::小::./l/′
       |::{::.::.::V77!::.::.::l:: ´l `,≧zzミ     |ュリ }:./::.|
      l:ハ:.}:.l/:.| |::.::.::.:ト、:.V/ト-':...}     ´ イ::.: :|
       | `j小:.| ト::.::.:..:ヽ-ミ` Vユツ     ヽ  ハ::j:リ
      ヽ / |! リ_トヘ:l::.:...:.ヽ「 {       _,  .イ::.イ/
         _ノ.. ..:..|:ト、::.::.:、\` ー-、   ´ '/:.|:/フ:>、
      r‐<::`丶:..:ハト、_\::.:ヽ ̄`  }┬‐.:: : :〃::/: : /、
     /´ ̄` ミヽ:\ヽ:..:.「 >:}-- 、 ノ|:... : : l:::./: :./  ヽ
      !      \\:ヽ..:.Vーノ-- 、\7:..: : : :|::/: :/     !
.     |          ヽ:ヽ:〉ム二ニ、‐- 7|:..:. : :/::l: ://    |
     V     ー 、 V  /    ` ‐{ノ:..:..:./::/ //      |
      |      --- {         ヽ..:./::/ ///     |

457:デフォルトの名無しさん
08/05/06 21:12:36
URLリンク(www.ruby-lang.org)

458:デフォルトの名無しさん
08/05/06 21:38:05
>>450
1.8.6以降の1.8系は後方互換性を損なうような変更はほとんどないと思うけど。

あと1.9はどんどん変な仕様は変えてほしい。

459:デフォルトの名無しさん
08/05/06 21:40:56
なるほど、1.9の仕様は作り直しということか
ご苦労なことだ

460:デフォルトの名無しさん
08/05/06 22:19:27
Python3000も互換捨てるようだけど、Ruby比でどういう状況なのかな。
お暇な識者いたら解説きぼn

461:デフォルトの名無しさん
08/05/06 22:24:20
>>460
変更予定の仕様はすでにドキュメントとして公開済みですよ。

462:デフォルトの名無しさん
08/05/06 22:33:24
へえ、しっかりしてんだな

463:デフォルトの名無しさん
08/05/06 22:58:13
Rubyと比べるなよ(wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

464:デフォルトの名無しさん
08/05/06 23:07:53
>>460
Python3000は、まあ3.0に限らずPythonの場合は言語仕様や標準モジュールを拡張したり変更する時には
必ずPEPというドキュメント化を通した合意形成が必要とされる。

創始者であるGuidoの影響力が他のコアメンバーより強いことは認めるが、
「rubyは俺の趣味だから」とか言ってる人と違ってコアメンバーの1人という立場を崩していない。

465:デフォルトの名無しさん
08/05/06 23:18:08
趣味で始めたRubyとリサーチプロジェクトとして始まったPythonの違いか

466:デフォルトの名無しさん
08/05/07 00:05:57
>458
ところが matz はどんどん変な仕様にしようとするから困る。

467:デフォルトの名無しさん
08/05/07 00:15:10
趣味レベルをすでに脱していて個人では手に負えないのに
それを認めずにあくまで趣味の延長として動こうとするからおかしくなるんだろうか?

468:デフォルトの名無しさん
08/05/07 00:28:06
spec stable ruby がほしければ自分で実装しろ。

469:デフォルトの名無しさん
08/05/07 00:31:49
いや、誰も欲しいなんて話は…

470:デフォルトの名無しさん
08/05/07 00:46:02
単にくさしてるだけ

471:デフォルトの名無しさん
08/05/07 00:46:35
>>467
ひろゆきはなんとかやってるぞ。

472:デフォルトの名無しさん
08/05/07 00:52:11
なにこのアンチRubyスレ

473:デフォルトの名無しさん
08/05/07 01:10:02
むしろアンチmatzスレじゃね?

474:デフォルトの名無しさん
08/05/07 01:16:00
Rubyって言語使用ないの?
Wikiには、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむこと である」
って書いてるけど。

475:デフォルトの名無しさん
08/05/07 01:17:56
なにこの無限ループ(www

476:デフォルトの名無しさん
08/05/07 01:29:09
明示的な仕様はない。Rubyの言語仕様とふつう言った場合、
rubyの実装により暗黙のうちにさだめられているそれを指す。

477:デフォルトの名無しさん
08/05/07 01:29:56
つーかWikipediaはWikipediaと(ry

478:デフォルトの名無しさん
08/05/07 01:59:38
wikipedia修正しといた

479:デフォルトの名無しさん
08/05/07 02:13:20
>>478
hydeの身長も入れといてよ

480:デフォルトの名無しさん
08/05/07 03:15:16
Rubyは日本人が作ったって言う点で意味があるね。

いや、ごめん。意味があるかどうかじゃなくて純粋に同じ日本人が一時的であろうが世界で使われるような言語を
作ったって言うのは俺のナショナリズムをくすぐるよ。

そんな俺はPHP以外LLは認めない。

481:デフォルトの名無しさん
08/05/07 04:34:21
php便利だけど、Py/Ruby/JS比での面白みは皆無よね

QIQの方がLL的じゃね
日本とか意味とかで言えば

482:デフォルトの名無しさん
08/05/07 04:35:30
qiqは確かにLLっぽくなるな

483:デフォルトの名無しさん
08/05/07 04:59:06
今後に期待

484:デフォルトの名無しさん
08/05/07 06:36:21
>>471
言語より遥かに単純なものを提供しているし、糞仕様をいつまでも変えないからな、良くも悪くも。

485:デフォルトの名無しさん
08/05/07 19:40:29
今までの流れを見るに

matzは教祖様
Rubyは新興宗教
Ruby信者にとってRuby教は絶対だから正当な批判も攻撃としか見れない
「Ruby教はなにがなんでも正しいんです!」

こうですか?


486:デフォルトの名無しさん
08/05/07 19:41:25
>>485
うん、アンチがしがみついてるキャラ設定はそんな感じ。

487:デフォルトの名無しさん
08/05/07 21:55:47
何が何でも正しいなんてRuby信者含め言ってないと思うよ。
単に全然関係ない話を持ち出してまともに会話しないのが多いだけで。
スレリンク(tech板:1番)
は言い得て妙。

488:デフォルトの名無しさん
08/05/07 23:20:02
>>485
Rubyはカルト
宗教じゃない

489:デフォルトの名無しさん
08/05/08 03:26:42
セクトじゃね?

つーても、Ruby使いだがmatz嫌いな俺みたいなのも居るからアレだけど。

490:デフォルトの名無しさん
08/05/08 04:07:15
そういうプロジェクト運営論はこの板の範疇じゃないような気がするが
マ板の方が向いてるんじゃね?

491:デフォルトの名無しさん
08/05/08 05:27:26
>>490 誤爆?

492:デフォルトの名無しさん
08/05/08 06:41:39
つーか正直rubyなんてどうでもいい。結局はpythonのパチモンでしょ。

493:デフォルトの名無しさん
08/05/08 06:51:00
どちらかと言うとPerlのパチモンかと。

494:デフォルトの名無しさん
08/05/08 08:24:00
言語オタの作った言語だから
やおい同人誌みたいなもんか?

あのキャラとあのキャラがくんずほぐれつ、みたいな(wwwwwwwww

495:デフォルトの名無しさん
08/05/08 09:46:48
ようわからんが、同人誌とかに詳しいのも頷ける気持ち悪さが
文章から滲み出てるな。

496:デフォルトの名無しさん
08/05/08 10:53:20
>>495
自己参照無限ループ乙

497:デフォルトの名無しさん
08/05/08 11:45:48
同人誌に詳しいのは君だけだから
他の人は同人誌に詳しい話では自己参照できないよ

498:デフォルトの名無しさん
08/05/08 14:13:50
Perlをいじくりまわして初心者向けに劣化させたのがPHP
ヲタ向けに劣化させたのがRuby

499:デフォルトの名無しさん
08/05/08 19:11:09
Rubyを使うのってオタ臭い人が多い気がする。

500:デフォルトの名無しさん
08/05/08 20:20:23
本物のヲタなら、あんなキモい言語使わんだろ。
Ruby使うのはせいぜいライトファン程度だ。

501:デフォルトの名無しさん
08/05/08 20:23:40
URLリンク(d.hatena.ne.jp)

このラインナップはどうみても...(w

502:デフォルトの名無しさん
08/05/08 20:26:59
なんか手当たり次第感

503:デフォルトの名無しさん
08/05/08 20:34:32
まさに玉石混淆w

504:デフォルトの名無しさん
08/05/09 03:27:51
Perlは要は全方向な言語なのだ。
技術的にカバー出来てない範囲はあるにせよ、思想的にはそうである。
アイデアの原初であり、試行錯誤の場所であり、故にごみ溜めで、血と汗と涙にまみれている。

Pythonは自由を制限することによって、悟りを得ようとしている。
業を自らによって正しく気づき消化するチャンス自体を奪うことによって。

Rubyは二番煎じ故にアイデンティティーの危機に直面している。
いくつかの指針があるにせよ、実は自己矛盾の陥穽が潜んでおり、カリスマ性は淀んでいる。
教祖は信者を毒し、信者によって教祖は毒される。

505:デフォルトの名無しさん
08/05/09 07:28:54
最後の行だけはちょっと違う気がするが、全体的には同意。
Rubyにコレという決定的なアイデンティティは確かに無い。

強いて言えば二番煎じを寄せ集めて良いとこ取りした言語で
少し使うと「何故か、なんとなく馴染む」のが最大の利点。

その特徴からすれば、下手な仕様変更は非難を浴びるのは判りきった
話なんだが、作者が変な仕様変更を連発するのが最大最悪の欠点。

506:デフォルトの名無しさん
08/05/09 07:38:45
で、その「何となく馴染む」という感じから
馴染んだ人にはマジで馴染むが、特長を説明し辛い。
だから信者を生み出しやすく、特長が無いのにマンセーされるのと
感覚的だから合わない人にはホントに合わないのもあって、アンチをも生みやすい。

507:デフォルトの名無しさん
08/05/09 07:40:35
Rubyの文法に馴染んだことなど一度もない。
メッセージレシーバを省略できたり()を省略できたいり、
どうでもいいことで可読性を落しているとしか思えない
厨房言語。しかもバージョンアップのたびに既存の
スクリプトが瀕死の重症を負うことになる。

Perlは結局はテキストプロセッサ。それ以上のことをさせたら破綻する。

Pythonは汎用スクリプト言語。文法はシンプルかつ強力で、
長いコードも苦痛なく読み書きができる。バージョンアップも
穏やかかつ公開されているため、前もって準備をしておくことができる。
ただし、Python3000ではかなりの混乱が予想される。

508:デフォルトの名無しさん
08/05/09 09:10:25
>507
どこのPython信者だよ(w

509:デフォルトの名無しさん
08/05/09 09:16:27
pythonは知らんが、rubyとperlについては>>507の言ってる通りだと思うが

510:デフォルトの名無しさん
08/05/09 10:29:31
おっPythonも>>507の言ってる通りだと思う


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5329日前に更新/182 KB
担当:undef