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

あれ何だったんだろう

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

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に投げてまつもとにバグだと言われたらバグ

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


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

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