08/02/03 17:51:58
>勝手に型変換すんな。
いや、したくてするんだがw
332:デフォルトの名無しさん
08/02/03 18:02:16
p StringIO.new("abcd") #=> "abcd"
なんてキモすぎだろ。常考
333:デフォルトの名無しさん
08/02/03 18:04:49
それはpやputsがto_sを呼んでるだけなのでは…
334:デフォルトの名無しさん
08/02/03 18:06:11
誰がそんなことを望んでるの?
335:デフォルトの名無しさん
08/02/03 18:06:36
cgi.rb は多少手を入れた程度じゃどうしようもないし、
大きく手を入れるんだったらパッチをつけないと議論できないからなぁ。
336:デフォルトの名無しさん
08/02/03 18:07:34
木を見て森を見ず vs. 森を見て木を見ず
337:デフォルトの名無しさん
08/02/03 18:08:01
>>332
どうしてもやるならStringIO#inspectも定義すべきだね
>>333
to_sはそういう風に使われるものだから下手に定義するなってことだろう
338:デフォルトの名無しさん
08/02/03 18:09:03
inspect定義しちゃいけないのかw
339:デフォルトの名無しさん
08/02/03 18:14:35
>>331
してほしくない人もいるってことだ。
お前は "foo" + 1 を勝手に "foo1" にして欲しい派?
もしそうならお前は今の Ruby に向いてない。
340:デフォルトの名無しさん
08/02/03 18:20:14
ところで、cgi.rbがらみでStringIO#to_sを主張するやつは
なぜTempfile#to_sの方は主張しないの?
341:デフォルトの名無しさん
08/02/03 18:25:24
「勝手に型変換」はto_strじゃないのか
342:202
08/02/03 18:38:19
>340
リファレンス見ると
StringIO: IO と同じインタフェースを持った文字列クラスです。
--> 本質は文字列クラス
IO: IO クラスは基本的な入出力機能を実装します。
--> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
だけど?
まあ、おいらとしてはcgiクソという結論なんであんまり興味なくなったというのが本音。
343:202
08/02/03 18:42:12
>333
pが呼んでいるのはinspectだと思う。
putsとprintはto_sだね。
344:デフォルトの名無しさん
08/02/03 19:02:17
>>342
>StringIO: IO と同じインタフェースを持った文字列クラスです。
これはマニュアルが間違いだな。
文字列クラスだとしたら、+だのgsubだの何もかもが足りない。
あと、英語ではちゃんと "Pseudo I/O on String object" になってる。
>IO: IO クラスは基本的な入出力機能を実装します。
> --> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。
345:デフォルトの名無しさん
08/02/03 20:07:01
>344
>これはマニュアルが間違いだな。
あいかわらずリファレンスは酷い、つうことか。
>これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。
いや、IOて文字列よりももうちょっと抽象化の進んだものじゃね?
あくまでストリームなんだから、中身は何でも良いはずだよ。
文字列として成立しないバイナリも処理できる訳だし。
#Windowsだとbinmodeを設定する必要あるけど。
346:344
08/02/03 20:32:53
>>345
>あいかわらずリファレンスは酷い、つうことか。
まあでも、中を見ればStringIOがStringに似せようとしてないことくらい
普通はすぐわかるから、些細なことだとは思う。
仕様書じゃないんだから、厳密すぎる表現を使われても読みにくくなるしね。
>あくまでストリームなんだから、中身は何でも良いはずだよ。
入出力が文字列になるストリーム、という意味。
任意のオブジェクトを流せるストリームではないと。
文字列というか、Stringで表現できるもの、と言うべき?
347:デフォルトの名無しさん
08/02/03 21:37:37
ていうか、StringIOの基本コンセプトはシェルでいうところの
LIST=`ls`
だろ
出力を変数に格納する処理
348:デフォルトの名無しさん
08/02/03 22:08:31
StringIO#string= を StringIO#to_s= にしろとな。
キモすぎるぞそれは
349:162
08/02/03 22:18:18
cgi.rb がクソと言うやつは、どのような設計ならば素晴しいか具体的に述べてくれ。
(いや、煽りじゃなくてな。MLあたりで提案しないと状況は動かんとは思うが、それをやれとは言わん)
最近本格的にperlから乗り換え始めたんで、CGI.pm のクソさ加減から劇的に改善されたことしか理解できないのよ。
350:デフォルトの名無しさん
08/02/03 22:22:34
>348
誰もそんなことを言っていないぞよ
351:202
08/02/03 22:25:51
>349
Webrickを見たけど、あっちの方がずいぶんまともな設計じゃない?
使ってないから何ともいえんけど。
でも、あれも更新止まっちまってる感じなんだよなぁ。
352:デフォルトの名無しさん
08/02/03 22:49:43
>>349
URLリンク(www.google.com)
353:デフォルトの名無しさん
08/02/03 22:55:28
Webrick::CGIはちょっとしたCGIでよく使うけどいいよ。
WEBrick::HTTPResponse や WEBrick::HTTPRequest を見ないといけないうえに、
時々ソースまで見ないといけないのがネックだけれど。
354:デフォルトの名無しさん
08/02/03 22:56:31
ソースまで見ないといけないのはRuby全般に当てはまる
355:デフォルトの名無しさん
08/02/03 22:58:04
ネット関係のモジュールはソース見つつ作ると面白いことができるな
356:デフォルトの名無しさん
08/02/03 23:00:02
WEBrickは読みやすいんだけどそれがドキュメントが無い原因の一つなのかも…
357:デフォルトの名無しさん
08/02/03 23:14:45
>>355
初心者スレで見たんだが
require 'net/http'
uri = URI.parse('URLリンク(www.2ch.net)')
response = Net::HTTP.start(uri.host, uri.port){|http|
http.head(uri.path)
}
p response.code_type == Net::HTTPOK
p response.is_a?(Net::HTTPOK)
これ両方ともtrueなんだよな
Net::HTTPOK使うのなんて初めて見たぞ
358:デフォルトの名無しさん
08/02/03 23:19:22
def code_type
self.class
end
なんだな。
359:デフォルトの名無しさん
08/02/03 23:27:44
response.code == '200' という半マジックナンバーよりは見かけ健全だな
初心者スレでは response.code == 200 という比較をして動かないってハマってたが
360:デフォルトの名無しさん
08/02/03 23:33:43
>357
あと、typoをパーザーが見つけてくれるから、response.code == '200'より便利だよ。
361:デフォルトの名無しさん
08/02/04 12:34:05
>>357-358
それは、rdocにあるように、caseでチェックするため。
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetch(response['location'], limit - 1)
else
response.error!
end
362:デフォルトの名無しさん
08/02/04 15:07:30
>>356
どんなドキュメントが欲しい?
リファレンスマニュアルとは別のものかな。
363:デフォルトの名無しさん
08/02/04 15:53:27
>>362
356じゃないが、チュートリアルというか、こういう時はこういう組み合わせでやれ、みたいな感じの物はほしいな。
るびまにproxy作る例があったけど、あんな感じで。
364:デフォルトの名無しさん
08/02/04 15:59:18
WEBrickでプロキシを作る例を読むのはもう飽きたお…
365:デフォルトの名無しさん
08/02/04 20:47:39
レシピブックじゃだめかね。
366:デフォルトの名無しさん
08/02/04 23:59:26
>>362
Webrickのクラスでセッション管理するドキュメント
367:デフォルトの名無しさん
08/02/05 01:29:45
>>366
URLリンク(www.ruby-lang.org)
368:デフォルトの名無しさん
08/02/05 01:34:36
Ramazeってよさそうだけど、あれ試してみた人いる?
369:デフォルトの名無しさん
08/02/05 01:52:18
>>368
最近できたフレームワークですね。
最小限の構成ながら、MVCで、
必須だろうセッション管理やキャッシュ機構もデフォでついてたり、
それでいて、HTTPDやテンプレートやORマッパがすげ替え可能だったり、
よさげではあるな・・・。
てか、OpenID対応とか時代を反映してますな。
Rails はでかいと思う人にはかなりよさげ。
ただ、Railsの次点は Merbだろうし、
使っている人はどれだけいるんだろうか
370:デフォルトの名無しさん
08/02/05 02:12:47
お前ら小さいのがいいならSinatraも忘れないでください。
Sinatra : Classy web-development dressed in a DSL
URLリンク(sinatra.rubyforge.org)
セッション管理がねえ?そんなのカンk(ry
371:デフォルトの名無しさん
08/02/05 03:07:56
だからセッション管理が無いなら標準添付のWebrickでいいんだってば
372:デフォルトの名無しさん
08/02/05 03:12:04
cgi.rb 再構成案
cat > cgi.rb
require 'webrick/cgi'
373:デフォルトの名無しさん
08/02/05 03:21:39
もう1.9.0を出しちゃった以上、インタフェイスレベルでの変更はやめたほうがいいんじゃないの。
デイブトーマスも「開発者は1.9でライブラリ書けよ」って言ってるぐらいだし。それよりはMLで
やってるみたいに実装を高速なものに変更するとかがいい。あるいはCgiAltをcgi2って名前で
取り込むとかね。
でもね、それよりはドキュメントをですね、もうちょっと埋め込むとかなんとかして
irbのhelpがpythonのhelp()並に情報がでるようにしてほしい。Pixaxe本の記述って
ソースコードにコピーしちゃだめなのかな。
374:デフォルトの名無しさん
08/02/05 06:23:10
1.9.0 はただの snapshot だし。
375:デフォルトの名無しさん
08/02/05 07:18:44
俺は StringList が欲しかったが
StringIO がそれなりに望みの動作に近かったので使ってる
俺みたいな奴には to_s が自然なのかもな
IO として使いたい奴には不自然かも知れん
376:デフォルトの名無しさん
08/02/05 08:32:16
>>367
URLリンク(doc.loveruby.net)
377:デフォルトの名無しさん
08/02/05 10:39:12
Rubyの公式MLでいい大人が2ちゃんねるの話題だすなよなー
ここは便所の落書きですぞ?暗黙的に提案すればいいのに。
378:デフォルトの名無しさん
08/02/05 13:51:14
最近の「2ch観」は各人でかなり異なるから、一概には言えないよ。
皆、自分のよく読むもの・よく書くことを中心に2chを捉えてるわけだけど、最近はその内容に凄く個人差があるし、
ブログの影響もあって、今や2ch以外も匿名・暴言の山で、2chだけがどうのって感じではなくなってるしね。
別の板も含めた俺の経験では、「2chに関係することを2chの外で口にすること」について
問答無用で「何てイタイんだ!」みたいに反応する奴は、大抵同じIDで草生やしまくってたりする。
あと、基本的に中傷とかの濃度の濃い場所の住人ほど、そういう傾向がある。
たぶんこれは「鏡にどんな人間が映ってますか?」的な話題なんだろう。
379:デフォルトの名無しさん
08/02/05 13:55:33
>>377-378
気にしなくていいですよ
俺みたいな世代は、2chもネットの掲示板の一つだから
便所の落書きでも、情報源には違いないものです
380:デフォルトの名無しさん
08/02/05 13:56:49
ああ、あと、>>378の後半は余計だと思うがwその辺が2chたる所以かw
381:デフォルトの名無しさん
08/02/05 22:36:07
そういやもう2chが特別な場所である感覚はないね。
382:デフォルトの名無しさん
08/02/05 23:36:27
2chが特別だったのはログとってなかった頃まで
383:デフォルトの名無しさん
08/02/06 00:39:49
お前ら何年いるんだ。
384:デフォルトの名無しさん
08/02/06 00:42:37
7年くらいかな?
385:デフォルトの名無しさん
08/02/06 02:28:44
4・5年くらいの人が今は一番多いんじゃね
386:デフォルトの名無しさん
08/02/06 02:58:54
>>367
WEBRick でのセッション管理はどこに書いてあるんだ?
387:デフォルトの名無しさん
08/02/06 10:27:35
>>386
「自分で書き加えろ」という遠回しなメッセージではないだろうか
388:デフォルトの名無しさん
08/02/06 10:39:57
そんなセッションな~
という駄洒落を思いついた
389:デフォルトの名無しさん
08/02/06 10:40:39
shingichuu
390:デフォルトの名無しさん
08/02/06 12:16:16
【判決】
Segmentation fault
391:デフォルトの名無しさん
08/02/06 13:08:43
その判決はなかったわ
392:デフォルトの名無しさん
08/02/06 16:10:18
マルチプラットフォームで輝き始める“Ruby”
URLリンク(www.itmedia.co.jp)
393:デフォルトの名無しさん
08/02/06 17:44:23
輝き始めるとは失礼だな。
今まで輝いてなかったみたいじゃないか。
394:デフォルトの名無しさん
08/02/06 17:53:49
輝くどころか、各方言で骨肉の争いが
395:デフォルトの名無しさん
08/02/06 19:36:42
輝き始めていると表現できるのは確かだが、
同じような紅い輝きがあちこちにあって統一性が感じられないのはなんでだぜ
396:デフォルトの名無しさん
08/02/06 19:43:32
燃え尽きる直前の煌き
397:デフォルトの名無しさん
08/02/06 23:43:14
def [(key)]=(value); end
みたいに書きたい!
def []=(value, *keys); end
でもいいけど
398:デフォルトの名無しさん
08/02/07 00:01:40
1.9ではrubyが無いとbuildできないのか?
baserubyを指定しろと怒られる。
399:デフォルトの名無しさん
08/02/07 00:26:30
>398
insns.defとかの処理でBASERUBYを使ってるね。
他のマシンで処理しておいて、それを持ってくるって方法もあるけど、
1.8も入れておいた方が無難だと思う。
なお、tarballだと処理したものが入れてあるんじゃないかな。
400:デフォルトの名無しさん
08/02/07 03:17:46
>>387
>「自分で書き加えろ」という遠回しなメッセージではないだろうか
WEBrickにsession機能がないのに、ドキュメント書けるわけないだろアホ
401:デフォルトの名無しさん
08/02/07 03:33:06
そりゃ>>376が何も言わずにリンク先しめすもんだから、勘違いするじゃない
>>400みたいに言ってくれないと
402:デフォルトの名無しさん
08/02/07 09:43:14
いやWEBrick自体にセッション管理機能がないのは周知の上で、
自前でかっこよくセッション機能を組み入れる解説が欲しいのでは
実際問題としてWEBrickの目ぼしい弱点ってそこだけだし
403:デフォルトの名無しさん
08/02/07 09:52:18
WEBrickのプロクシサーバって、アクセス先のデータを一回全部読み込んでるみたいだが、
ちょっとずつ読み込みながら返してくるようにしてほしい。
404:デフォルトの名無しさん
08/02/07 10:03:16
それはあまりRubyっぽい動作ではないな
RubyのIO系はメモリに一気に読み込んでから配列にしたりして1単位ずつ返したりするのが主流
Proxyっぽい動作ではないけどな
405:デフォルトの名無しさん
08/02/07 10:28:21
>>403
ああ、完全に同意。あの動作はクソすぎる。
>>404
メモリに一気に読み込むのを主流だとか馬鹿なことをいうのはやめてくれ。
IO#eachという一番わかりやすいメソッドを見てみろよ。
406:デフォルトの名無しさん
08/02/07 12:35:30
Net::HTTPResponse#read_body{|str| ...} は全部読み込んでから区切ってた気がする
407:デフォルトの名無しさん
08/02/07 23:32:50
煽りじゃなくて、Scheme(or Lisp)に有って、Rubyに無い機能ってある?
あるとしたら、その機能って必要?他の機能で代用可能? いろいろ細かいことも教えて。
(初心者スレから誘導されました。)
408:デフォルトの名無しさん
08/02/07 23:38:23
>>407
マクロ
409:デフォルトの名無しさん
08/02/07 23:42:40
マクロはRubyの他の機能で代用可能ではないの?
あった方が便利?
410:デフォルトの名無しさん
08/02/07 23:46:19
>>409
何したいのか判らんけど代用可能かどうかの判断つかないんなら聞いても意味無くない?
411:デフォルトの名無しさん
08/02/07 23:47:38
代用可能ではないと判断した。けど、詳しい人なら代用方法を知っているかもしれない。だから聞いている。
412:デフォルトの名無しさん
08/02/08 00:22:18
>>402
CGI::Session の移植ならあね。
URLリンク(moonrock.jp)
413:デフォルトの名無しさん
08/02/08 00:23:15
代用というからには用途による。
あらゆる用途で同じように使えるなら、それはその機能そのものだ。
414:デフォルトの名無しさん
08/02/08 00:25:30
こういう用途には代用になる、と言えばいい。
すべてを網羅しなくても思いつくだけ述べてくれて構わない。
415:デフォルトの名無しさん
08/02/08 00:30:04
Schemeのマクロは文法拡張ができる。
Rubyでは文法拡張する方法はない。
でいいの?
416:デフォルトの名無しさん
08/02/08 00:38:31
>>415
それは、例えば新しいif文を定義して、標準のif文と同じように使うことができるようになる、ということ?
それが、Schemeでは出来て、Rubyでは出来ないと。正しい?
417:デフォルトの名無しさん
08/02/08 00:40:22
eval系列の命令でマクロっぽいことはできる。
attr_reader, attr_accessorもそれ
418:デフォルトの名無しさん
08/02/08 00:43:27
>>416
可能だが、どこまで自然になればOKなのかは使う人によるからな・・・
Rubyでも DSLは作られるが、
例えば、brainfu*k を再現するのは無理だろう
419:デフォルトの名無しさん
08/02/08 00:50:38
lispってlispのソース上でbrainfu*kを再現できるの?()は出てこないの?
インタプリタを作るならlispでもRubyでもできるよね。それとは違うの?
420:デフォルトの名無しさん
08/02/08 00:52:42
>>416
普通の関数なら関数を呼び出す時点で引数の評価は完了しているが、
マクロなら引数を評価するタイミングをマクロ側で制御できる。
ruby でオレオレif を作るなら、if/else の本体を Proc で包んで渡すしかない。
じゃないと オレオレif 関数を読んだ時点で if/else の本体が実行さてしまうから。
それか Proc のシンタックスシュガーであるブロックをうまく使ってごまかすか。
このサスペンダーの人の記事も参考に。
URLリンク(blog.livedoor.jp)
421:デフォルトの名無しさん
08/02/08 00:52:43
>>418
my_if(proc { cond }, proc { then_clause }, proc { else_clause })
は「文法拡張した」とはさすがに言えないだろう
422:デフォルトの名無しさん
08/02/08 03:48:53
>>421
いや、だから人によるってば
>>419
インタプリンタつくって、文字列を実行してという話ではなくね。
お得意のマクロとやらでできるんじゃないのかな? > Lisp
DSLをよく作るとか聞いた
いや、おれはLisp詳しくないのだが・・・
ちなみに、Io-language だとかなりそのものに近ずけることができる。マクロなしに
423:デフォルトの名無しさん
08/02/08 09:08:56
>>422
人による、って程度じゃないだろ。
>>421が受け入れられるなら、cond、then_clause、else_clauseを文字列にして
パーサ動かしてもいいってことか。
424:デフォルトの名無しさん
08/02/08 12:41:48
>>422
>標準のif文と同じように使うことができる
が達成されてないじゃん。
これは主観ではなく客観で定義できる達成基準だぞ。
425:デフォルトの名無しさん
08/02/08 13:43:53
揉めるなよ。
Matz的にはLispのマクロは「あまりに強力すぎる」ことに難があって、
Rubyをあえてそこまで行かせずにいるんだから。
426:デフォルトの名無しさん
08/02/08 13:46:10
Rubyでも構文木いじればけっこう何でもできるんじゃないかな
PycoのRuby版もできるかもしれない。ParseTreeはどうよ
427:デフォルトの名無しさん
08/02/08 13:56:50
ところでバイトコードからデコンパイルってできんのかな。
428:デフォルトの名無しさん
08/02/08 14:23:10
Rubyの構文木ってすげー内部的でなかった?
生のポインタに触らずにいじれそう?
429:デフォルトの名無しさん
08/02/08 14:58:18
Ruby もそろそろ smalltalk みたいになんでもオブジェクトして欲しい。
430:デフォルトの名無しさん
08/02/08 16:38:16
>>424はともかく
>>423
静的言語ばかり使ってきた俺には、lambdaなどでif文作っても、
文法が拡張されているように見えるんだ。
たぶん経験の違いだと思う。
431:デフォルトの名無しさん
08/02/08 18:11:20
Ruby個人的には大好き・・・
432:デフォルトの名無しさん
08/02/08 19:41:11
Rubyまで「個人的に」とか断り付けなきゃいけないご時世か
普及したもんだなあ
433:デフォルトの名無しさん
08/02/08 19:44:40
言ってることはよくわからんがとにかく凄い自信だ
434:デフォルトの名無しさん
08/02/08 21:14:52
Object.instance_methods が、1.8 だと String の配列で、1.9 からは Symbol の配列になるそうですが、
今まで MyClass.instance_methods.include?('methodname') としていたのを
MyClass.instance_methods.include?(:methodname) としなければなりません。
1.8 と 1.9 の両方で使えるような書き方はありませんか。
arr = MyClass.instance_methods
arr.include?('methodname') || arr.include?(:methodname)
とか格好悪すぎる
435:デフォルトの名無しさん
08/02/08 21:21:03
.map{|m|m.to_s}
436:デフォルトの名無しさん
08/02/08 21:23:05
|m| って何の略?いや、気になったので
437:デフォルトの名無しさん
08/02/08 21:32:09
method names か何かだろ
m 自体は method の m だと思う
「文字列かシンボルのどっち来るかわからん場合は to_s しとけ」という >>435 のアプローチは妥当
438:デフォルトの名無しさん
08/02/08 22:50:47
>>434
> 今まで MyClass.instance_methods.include?('methodname') としていたのを
その書き方はそもそも効率が悪い。
MyClass.method_defined?(:methodname)
439:デフォルトの名無しさん
08/02/08 23:42:14
>>425
「Scheme(or Lisp)に有って、Rubyに無い機能」であることは事実。
それがいいとか悪いとか言うつもりはない。
>>426
標準で構文木いじる方法がないってこと。
ParseTree は既存の文法でパースしたプログラムをいじることは
できても、既存の文法自体は拡張できない。
440:デフォルトの名無しさん
08/02/09 00:35:56
javascriptのfunctionって最高じゃない?シンプルで。
rubyのproc、Proc.new、lambdaって何なの?同じようなのいくつも作って。馬鹿なの?
441:あ
08/02/09 00:37:38
pythonとRuby、そんなに変らん
442:デフォルトの名無しさん
08/02/09 01:01:24
ECMAScript系はいいもんだね
サーバサイド実装も出て来てるし、今後RubyやPythonと比較されるユースケースが増えるかもなぁ。
現状では、利用形態がきっちり棲み分けてるから現実的に比べにくいかな。
443:デフォルトの名無しさん
08/02/09 01:18:09
functionは長いからfunかfnか\がいい。
444:デフォルトの名無しさん
08/02/09 01:25:21
defで無名関数が定義できればいいのに。
445:デフォルトの名無しさん
08/02/09 01:27:43
lengthかlength()かで迷うのはもうごめんだお
446:デフォルトの名無しさん
08/02/09 01:30:37
proc、Proc.new、lambdaを廃止して、全部defにしたら何か問題ある?
447:デフォルトの名無しさん
08/02/09 01:32:19
メソッドとクロージャは違う
448:デフォルトの名無しさん
08/02/09 01:33:40
>>447
何が違う?具体的に。
449:デフォルトの名無しさん
08/02/09 01:35:02
def: メソッド
proc、Proc.new、lambda:クローじゃ
でいいのかな?
450:デフォルトの名無しさん
08/02/09 01:36:23
>>449
だから、defでクロージャーも定義できるようにして何か問題があるかと聞いている。
現状がどうかなんて聞いていない。
451:デフォルトの名無しさん
08/02/09 01:37:43
>>448
ブロックの外のローカル変数が見えるかどうか
あと無名関数なんて全然defineしてないのにdefって名前はさすがにどうかと
452:デフォルトの名無しさん
08/02/09 01:40:06
>>451
じゃあ、proc、Proc.new、lambda、defをobsoleteにして、全部funcにしたら何か問題ある?
453:デフォルトの名無しさん
08/02/09 01:42:17
>>451
そんなこと言ったらlambdaなんて何の意味もない名前だろ。
454:デフォルトの名無しさん
08/02/09 01:45:08
そういえば
proc,lambdaとProc.newじゃreturn等の挙動が変わるんだったな
455:デフォルトの名無しさん
08/02/09 01:46:30
似て非なるものがゴチャゴチャあると紛らわしいから、functionにまとめてほしいな。
456:デフォルトの名無しさん
08/02/09 01:47:23
Ruby1.9って反面教師であるはずのPerlに怪奇しつつあるよな
もっとシンプルで速度10倍くらい速くする方向に進歩して欲しい
457:デフォルトの名無しさん
08/02/09 01:54:05
速度の話ではシンプルさよかeval捨てるか否かが優先されるかと。
そういや旧macromediaもeval捨てた矢先にActionScriptの速度上げたな
458:デフォルトの名無しさん
08/02/09 01:54:17
関数が無い(ってことになってる)Rubyではfunctionってキーワードは採用されないだろうな
459:デフォルトの名無しさん
08/02/09 02:03:20
>456
の「怪奇」があながち誤字に見えないから困る
460:デフォルトの名無しさん
08/02/09 02:07:38
>>458
じゃあ、methodでいいよ。
461:デフォルトの名無しさん
08/02/09 03:05:24
無名関数はスコープをどうするかが問題かな。
メソッド・Proc・ブロックを統一できればシンプルにはなるんだろうけど。
Rubyが将来シンプルになる見込みはないと思われるので、シンプルなサブセットを作って、
それに向けてYARVを最適化すればいいんじゃないかな。
組み込みクラスのメソッドの再定義を禁止するだけでも大幅に速くなると思うけど。
462:デフォルトの名無しさん
08/02/09 03:13:23
do [名前] [|パラメータ|] 処理 end
が無名関数を返すようにして、
これでメソッド・Proc・ブロックを全部扱えるようにすればいい。
463:デフォルトの名無しさん
08/02/09 03:56:07
お。
464:デフォルトの名無しさん
08/02/09 03:57:51
ま。
465:デフォルトの名無しさん
08/02/09 04:29:01
ECMAScript や Python は
public な(Rubyでいう)インスタンス変数が存在出来る。
そのお陰で、メソッドをあたかも
クロージャの入った public 変数のように扱える。
Ruby のインスタンス変数は全て protected 。
インスタンスの public はメソッドにしか許されていない。
メソッドとクロージャはハッキリ分かれてる。
そのへんの思想の違いじゃないかな?
Procとメソッドをシームレスに扱えるようにしても
Python や ECMAScript みたいにはスッキリしないと思う。
むしろ妙なパラドックスに陥りそう。
466:デフォルトの名無しさん
08/02/09 05:56:04
> そのお陰で、メソッドをあたかも
> クロージャの入った public 変数のように扱える。
kwsk
gttkn
467:デフォルトの名無しさん
08/02/09 08:25:10
例えば JavaScript ならこんな感じかな。
<script language="JavaScript">
function MyObject() {
this.method1 = function() { return "Hello"; }
}
var obj = new MyObject();
var func = obj.method1;
document.write(func());
function method2() { return "World"; }
obj.method2 = method2;
document.write(obj.method2());
</script>
468:デフォルトの名無しさん
08/02/09 08:40:45
Python でも色々出来るが、メソッドと関数の
微妙な違いに苦しむかも知れんな。
型も違うから「あたかも」としか言えない。
class MyClass1:
def method1(self):
return 'Hello'
obj = MyClass1()
func = obj.method1
print func()
def method2():
return 'World'
obj.method2 = method2
print obj.method2()
469:デフォルトの名無しさん
08/02/09 09:49:47
>>438
thanks
470:デフォルトの名無しさん
08/02/09 10:26:34
URLリンク(nukoup.nukos.net)
471:デフォルトの名無しさん
08/02/09 11:23:25
factorial = def f(n)
1 if n <= 0
n*f(n-1) if n > 0
end
factorial(10) #=> 3628800
こんな感じにしたい。
472:デフォルトの名無しさん
08/02/09 11:32:26
5.times factorial
#=> 1
#=> 2
#=> 6
#=> 24
#=> 120
とか。
473:デフォルトの名無しさん
08/02/09 11:56:46
proc、Proc.new、lambda、defを区別する意味ってあるの?
初心者の漏れには、特にproc、Proc.newが
よく分からない複雑怪奇なものにしか見えないんだけど;;
474:デフォルトの名無しさん
08/02/09 12:02:38
Yコンビネータ使うとか。
475:デフォルトの名無しさん
08/02/09 12:40:01
Yコンビネータは再帰のためのコンビネータであって、
lambdaの代わりにはならない。
procとlambdaは冗長ではある。Proc.newとは、似てるけど別物で、
まぎらわしいものがあれこれあるのはどうかという気はする。
(「Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化の
ためにこれを呼び出します。このことを除けば、proc と同じです。」)
def は、確かに特別にそういうものがなくてもいいのかもしれない
けど、そうしちゃうと、クラスの文脈(*)に、
class Foo
(*) ここ
def foo()
……
end
end
生にlambdaを書いて、それをModule#define_methodでインスタンスメソッド定義、
という、言語の内臓に触れるコードを書かせることになる。
class Bar
define_method('bar', proc{
……
})
end
こんな感じ。もしMatzがTOOWTDIを信奉してたらこうなってた、というか。
476:デフォルトの名無しさん
08/02/09 13:22:25
>>471
定義されたfはどこに行っちゃうんだ?
477:デフォルトの名無しさん
08/02/09 13:26:01
>>476
def~endブロックのローカルスコープでいいだろ。
478:デフォルトの名無しさん
08/02/09 14:18:44
>>475
> procとlambdaは冗長ではある。Proc.newとは、似てるけど別物で、
> まぎらわしいものがあれこれあるのはどうかという気はする。
> (「Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化の
> ためにこれを呼び出します。このことを除けば、proc と同じです。」)
バージョンによって違うのかもしれないが、ブロックの中からreturnした時の
ふるまいが、Proc.newとprocは同じで、lambdaとは異なっている。
$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
479:デフォルトの名無しさん
08/02/09 14:21:06
紛らわしい機能はobsoleteにしてほしいな。
同じことができるならどれかに集約してもらいたい。
480:デフォルトの名無しさん
08/02/09 14:28:56
そんなことをしたらmap vs collect論争ができなくなるじゃないか。
481:デフォルトの名無しさん
08/02/09 14:35:25
map/collectは元々Ruby以前からそれぞれの宗派が存在したらから別にいいよ。
でも、lambdaはともかく、proc、Proc.new、def endはRuby独自でしょ。
Ruby独自ならRubyの中で整理した方がいい。
482:デフォルトの名無しさん
08/02/09 16:57:03
>>475 >>478 で、
def が無ければメソッド定義が、えらい不格好なものになるし、
Proc.new, proc, lambda は似てるけど、それぞれ違うということが
示されてるのは無視?
483:デフォルトの名無しさん
08/02/09 17:18:50
Proc.new, proc, lambda はそれぞれ違うけど、
同じようなことしかしないから、集約した方がいいって話じゃないの。
484:デフォルトの名無しさん
08/02/09 18:00:09
> Procでreturnするとfooから抜けちゃって関数内関数として使えません(> <)
>
> def foo
> boo = Proc.new do
> 100.times do |i|
> 100.times do |j|
> if i == 50 && j == 50
> return
> end
> end
> end
> end
> boo.call
> p "foo" # 実行されず
> end
>
> foo
この例の場合、Proc.new なら駄目なわけだが、
lambda なら期待通り動く。
procがどちらのように動くかはバージョンによるらしい。
どちらかに絞れるのかな? これ。
485:デフォルトの名無しさん
08/02/09 18:03:37
そういう多段の脱出のために catch 。
486:デフォルトの名無しさん
08/02/09 18:04:47
lambda、proc、Proc.newの仕様ってそれぞれきっちり決められてる?
リファレンスマニュアルにはあまり詳細に書いていないようだけど。
ソース読めとか言わないよね?
487:デフォルトの名無しさん
08/02/09 18:07:29
>>484
lambdaでも変わらない希ガス。
ruby 1.8.6 (2007-09-24 patchlevel 111)
def foo
boo = lambda do
100.times do |i|
100.times do |j|
if i == 50 && j == 50
return
end
end
end
end
boo.call
p "foo" # 実行されず
end
foo
488:デフォルトの名無しさん
08/02/09 18:10:17
言語使用もない糞言語,おまえらよく使う気になるよなあ(www
489:デフォルトの名無しさん
08/02/09 18:11:02
>>487
インデント崩さずにどうやって書き込むの?
490:デフォルトの名無しさん
08/02/09 18:11:24
>>489
全角スペース
491:デフォルトの名無しさん
08/02/09 18:14:12
>>489
492:デフォルトの名無しさん
08/02/09 18:17:16
$ cat hoge.rb
def foo
Proc.new{return"Proc.new"}.call
return "foo"
end
def bar
proc{return"proc"}.call
return "bar"
end
def baz
lambda{return"lambda"}.call
return "baz"
end
p foo ; p bar ; p baz
$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
$ ruby hoge.rb
"Proc.new"
"proc"
"baz"
$ ruby18 --version
ruby 1.8.6 (2007-12-02 patchlevel 5000) [i686-linux]
$ ruby18 hoge.rb
"Proc.new"
"bar"
"baz"
493:デフォルトの名無しさん
08/02/09 18:19:19
インデントてすと
def foo
bar
494:デフォルトの名無しさん
08/02/09 18:23:40
>>492
1.8.6では、Proc.new≠proc=lambda
1.9では、Proc.new=proc≠lambda
ってこと?
そもそも、returnに対する振る舞いの違いだけで、分けなければいけないようなものなのか?
495:デフォルトの名無しさん
08/02/09 18:33:28
なぜこうなるのかわかりません(> <)
def foo
Proc.new{1.times{return"Proc.new"}}.call
return "foo"
end
def bar
proc{1.times{return"proc"}}.call
return "bar"
end
def baz
lambda{1.times{return"lambda"}}.call
return "baz"
end
p foo ; p bar ; p baz
#"Proc.new"
#"proc"
#"lambda"
496:デフォルトの名無しさん
08/02/09 18:40:12
>>495
「どう」書いたら「どう」なることを期待してるわけ?
「なぜ」そうなるかはソースを見れば書いてある。
497:495
08/02/09 18:42:29
1.timesをかましただけでlambdaの挙動が変わるのはなぜですか?lambdaなら
returnしてもbazから返らないと教わったのにその通りになってません。
498:デフォルトの名無しさん
08/02/09 18:43:36
>>496
出たw
「「「「「「「「ソースを見れば書いてある」」」」」」」」
499:デフォルトの名無しさん
08/02/09 18:44:23
Proc.new{} == メソッドに渡すブロック
500:デフォルトの名無しさん
08/02/09 18:45:14
ソースったって、rubyという言語のインタプリタの単なる1実装のソースに過ぎないんだろ。
rubyがまともな言語なら言語仕様をきちんと示すべきなんだけどな。
501:デフォルトの名無しさん
08/02/09 18:45:26
学生ってC#かjava使って宿題してんじゃないの?
なんでこんなにわいてんの?新人がゆとりなだけか?
502:デフォルトの名無しさん
08/02/09 18:47:27
>>501
あーこのスレだけ見てるとわからんな
503:デフォルトの名無しさん
08/02/09 18:48:37
ソースを見る人次第でどんな風にも動作するあいまいな言語っていらないよね。
504:デフォルトの名無しさん
08/02/09 18:49:39
もうブロック内でreturn使うの諦めようぜ
バージョン間での非互換や、書き方による差異でゴチャゴチャになってるんだから
505:デフォルトの名無しさん
08/02/09 18:49:42
もとはPythonスレで出た流れを引き取った格好か
506:デフォルトの名無しさん
08/02/09 18:52:24
>>503
ソースにはあいまい性はないよ。書いてある通りに動くのだから。
問題は、作者が開発しているインタプリタのソースが唯一の厳密な仕様書になっていること。
まともな言語なら、ソースではなく初めに仕様書ありきであるべき。
507:デフォルトの名無しさん
08/02/09 18:53:45
>>505
??
この話題を始めたのは俺だが、Pythonスレなんて見たこと無いが。
508:デフォルトの名無しさん
08/02/09 18:54:52
>>504
return関係は基本は一応「見たまま」なんだけどね
論理的に動作を追おうとすると変なことに
509:デフォルトの名無しさん
08/02/09 18:57:56
言語仕様を決めて、それに従えば問題ないんだけどな。
510:デフォルトの名無しさん
08/02/09 19:23:51
なぜ、と問われたら何だって「ソースにそう書いてある」としか
答えられないんじゃないかと。
標準仕様がある言語なら、自然言語(まれに形式言語)で、
仕様書という「ソースコード」が書いてある、ってだけだし、それでも
それを実装した処理系の変な挙動について「なぜ」と問われれば、
やはり「ソースを見ろ」としか答えられないが。
しかし、ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux] だと
1.timesをかましてもbazから返らないんだよなぁ(笑)
511:デフォルトの名無しさん
08/02/09 19:27:56
>>510
なら、ソースのどこにどう書いてあるのか説明しろよ。
「ソースを見ろ」なんて全く有用な情報が無いレスなら書き込む必要は無い。
512:デフォルトの名無しさん
08/02/09 19:28:57
「ソースを見ろ」==「デバッグしろ」
513:デフォルトの名無しさん
08/02/09 19:30:21
標準仕様がないのに、何をどうデバッグすればいいんだ?
どのように動作するのがバグの無い状態なんだ?
514:デフォルトの名無しさん
08/02/09 19:43:31
元々は関数内関数(クロージャ)が欲しい、ってことだろ?
>>504 で結論が出てるじゃん。
要は、returnは「メソッドから戻る」ものだから、ブロックから値を
戻したいんだったら、returnは使うなってことでFAだろ?
515:デフォルトの名無しさん
08/02/09 19:44:58
じゃあエラーではじけよ
516:デフォルトの名無しさん
08/02/09 19:48:37
何故returnを「ブロックとメソッドから戻る」と定義できないんだろう。
517:デフォルトの名無しさん
08/02/09 19:55:41
>>514
じゃあ値を返すにはどうしたらいいんだよ。
518:デフォルトの名無しさん
08/02/09 19:56:08
>>516
eachみたいにブロック付きメソッドを制御構造もどきとして使いたいからじゃない?
519:デフォルトの名無しさん
08/02/09 19:56:20
>>516
メソッド定義の中のブロックの中でreturnしたときとか
Proc生成をメソッド内以外で行ったときとかに超紛らわしいからだろ
520:デフォルトの名無しさん
08/02/09 19:57:44
>>517
breakかcatch&throwを使ってください
521:デフォルトの名無しさん
08/02/09 20:01:27
一応、メソッドから抜けてるのにreturnしようとするとErrorになる
$ cat hoge.rb
def foo
Proc.new{return}
end
foo.call
$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
$ ruby hoge.rb
hoge.rb:2:in `block in foo': unexpected return (LocalJumpError)
from hoge.rb:5:in `call'
from hoge.rb:5:in `<main>'
$ ruby18 --version
ruby 1.8.6 (2007-12-02 patchlevel 5000) [i686-linux]
$ ruby18 hoge.rb
hoge.rb:2:in `foo': unexpected return (LocalJumpError)
from hoge.rb:5:in `call'
from hoge.rb:5
リファレンスマニュアルにはreturnは「式の値を戻り値としてメソッドの実行を終了します。」
とあるから、単にブロックから戻るだけだったらおかしい、と主張はできるかな。
522:デフォルトの名無しさん
08/02/09 20:01:43
>>518 >>519
単にreturnでブロックから復帰して、その引数が呼び出し元(yieldやProc.new)に戻ればいいだけじゃないの。
何が紛らわしいのかわからない。
523:デフォルトの名無しさん
08/02/09 20:04:27
Rubyのブロックはreturnに曖昧さがあるってことでFA?
524:デフォルトの名無しさん
08/02/09 20:07:00
>>517
> じゃあ値を返すにはどうしたらいいんだよ。
ブロック内で最後に評価した式の値がcallとかyieldの返す値になる
525:デフォルトの名無しさん
08/02/09 20:10:30
ブロックからの脱出にbreakと同様にreturnが使えても全く問題ないと思うのだが。
526:デフォルトの名無しさん
08/02/09 20:34:38
>>524
goto実装すればOK。
func = Proc.new do
result = -1
if (failed)
result = -2
goto EXIT
end
...
EXIT:
result
end
527:デフォルトの名無しさん
08/02/09 20:42:54
2.0でちゃぶ台返しマダー?
528:デフォルトの名無しさん
08/02/09 20:51:23
>>522 >>525
breakはwhileやuntilを抜けるためにも使われる、ということを忘れてないか
whileの中でreturnするとwhileを抜けた! なんて動作はいくらなんでも困る
529:デフォルトの名無しさん
08/02/09 20:57:08
>>528
breakは最も内側のブロックからの脱出、
returnはメソッド、およびlambda、proc、Proc.newの最も外側のブロックからの脱出
と定義して問題あるのかな。
530:デフォルトの名無しさん
08/02/09 21:03:25
あー、nil に追加はマズイや。
Object.new で。
531:デフォルトの名無しさん
08/02/09 21:04:24
誤爆
532:デフォルトの名無しさん
08/02/09 23:35:09
>>529
> breakは最も内側のブロックからの脱出、
breakはbreakで、ブロックではなくイテレータから抜けてくれないと困る
$ cat hoge.rb
def once # 1 回だけ実行するイテレータ
yield
p "2"
end
def foo
once{p "1"; break}
p "3"
end
foo
$ ruby hoge.rb
"1"
"3"
533:デフォルトの名無しさん
08/02/10 00:09:58
emacsにruby-modeを追加する方法がわかりません。
詳しく説明してるサイトを教えてください。
534:デフォルトの名無しさん
08/02/10 00:19:16
>>533
いささかスレ違い。emacsスレのほうがいいと思うが…
load-pathにあるディレクトリに置いて、
~/.emacsなりuser-init-fileなりに以下を追加。
(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
(set-alist 'auto-mode-alist "\\.rbw?\\'" 'ruby-mode)
(set-alist 'interpreter-mode-alist "ruby" 'ruby-mode)
535:デフォルトの名無しさん
08/02/10 00:28:48
1.9からHashが順序保存か…。
けっこうこだわりないんだな。
言語仕様で保証しないところがチキンというか、
PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。
536:デフォルトの名無しさん
08/02/10 00:47:37
これに依存するコードを書くことはまずないと思うからぶっちゃけかなりどうでもよい
2.0で導入されて、2.0が今の1.8くらい普及してから考える
537:デフォルトの名無しさん
08/02/10 00:50:43
1.9でネチネチ言う奴は何なんだろうと素で思う
538:デフォルトの名無しさん
08/02/10 00:58:58
>>535
>PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。
そんなこと言ってたの?
言ってたとして、これと Hash の順序保存とのつながりがわからない。
539:デフォルトの名無しさん
08/02/10 01:02:56
>>536
putsに配列を渡すと整形して表示する機能くらいどうでもいい機能
2.0に入ったとしても個人のスクリプトで意識して使えば便利だろうって程度だなあ
irb> puts [1,2,3]
1
2
3
540:デフォルトの名無しさん
08/02/10 01:07:44
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Python is better than ruby.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
541:デフォルトの名無しさん
08/02/10 01:40:04
日本語で桶
542:デフォルトの名無しさん
08/02/10 01:41:16
これ抜けてるだろ
Python is betterPerl
543:デフォルトの名無しさん
08/02/10 01:46:08
どんな言語でも信者はキモイ証左といったところか。
544:デフォルトの名無しさん
08/02/10 09:47:32
ヤターrailsの風俗サイトできたよー
URLリンク(www.momoiro.jp)
545:デフォルトの名無しさん
08/02/10 10:08:34
>>544
erogeek 乙www
546:デフォルトの名無しさん
08/02/10 14:14:04
>>537
だって、String#sg とかの糞名前を確定させなかったりするためには、
今がネチネチ言うときなんじゃないの?
547:デフォルトの名無しさん
08/02/10 14:41:38
>>546
それならMLでネチネチ言え。
それにmatz以外の開発者がある程度抑えてるから大丈夫だろ。
548:デフォルトの名無しさん
08/02/10 15:10:01
>>418
> 可能だが、どこまで自然になればOKなのかは使う人によるからな・・・
> Rubyでも DSLは作られるが、
> 例えば、brainfu*k を再現するのは無理だろう
遅レスだがこれはどうよw
URLリンク(d.hatena.ne.jp)
549:デフォルトの名無しさん
08/02/10 15:12:52
厳密には無理なんだろうけど、そこまでやるのにワロタ
550:デフォルトの名無しさん
08/02/10 15:36:13
方向音痴な初心者です
Rubyは自由性が在ると云う事は理解すべきですが、
変数は一つの定義で幾つ程、付けられますか?
551:デフォルトの名無しさん
08/02/10 15:49:05
元のスレに帰れ
552:デフォルトの名無しさん
08/02/10 19:48:48
tkよりgtk2の方が良いよな・・・
というかtkを使わざるを得ない制約が有ってgtk2に見向きもしなかっただけなんだが。
tkは1.9への移行とtk8.5の仕様変更でゴチャゴチャになってるみたいだけど。
今後tkってどうなっちゃうの?
オワタ?
次から作るならtkは避けたほうが無難かな?
553:デフォルトの名無しさん
08/02/10 20:34:13
2010年になっても保守しなければならない代物なら立ち止まったほうがいいかもしれない
正直、gtk2だからマシというもんでもなく…
554:デフォルトの名無しさん
08/02/10 22:30:30
>>544
それがRailsであるっていうのはどうやって見分けるの?
555:デフォルトの名無しさん
08/02/10 22:36:49
自己申告に決まってるだろ
556:デフォルトの名無しさん
08/02/10 22:41:18
>>552
同志よ。いま同じ問題を抱えています。
ruby/tkだと今は動いたとしてもバージョンアップしたら動くか心配だし、
gtkも同じように心配。
ということは一番安全なのはCGIを作ってブラウザで表示させるのがいい気がする。
557:デフォルトの名無しさん
08/02/10 22:54:31
MVCモデルで開発していくのが正解かなと思う
558:デフォルトの名無しさん
08/02/10 22:55:09
>>554
URLリンク(www.momoiro.jp)
559:デフォルトの名無しさん
08/02/10 23:01:30
URL#is_rails #=> true
560:デフォルトの名無しさん
08/02/10 23:02:16
WebベースのUIはデータのやりとりが面倒くさい。
セキュリティとかもややこしいし。
561:デフォルトの名無しさん
08/02/10 23:03:10
PHPなら簡単ですよ
562:デフォルトの名無しさん
08/02/10 23:03:57
ちょっとりりちゃんに会いに言ってくる
563:デフォルトの名無しさん
08/02/10 23:04:15
バージョンアップで動かなくなる可能性を心配するならCで開発しなされ
564:デフォルトの名無しさん
08/02/11 00:01:03
tk8.5で見た目が綺麗になったんで、ようやく使い始めようと思ったのだが・・・
565:デフォルトの名無しさん
08/02/11 02:39:47
結論 Javaで池
566:デフォルトの名無しさん
08/02/11 02:42:35
じゃあJRubyで
567:デフォルトの名無しさん
08/02/11 05:53:08
>>566
!否… JaRubyで…
r
568:デフォルトの名無しさん
08/02/11 10:49:38
NUM2INTとかだけじゃなくてpackにあるnum2i32を表に出せばいいのに
569:デフォルトの名無しさん
08/02/11 16:12:22
>>556 >>560 >>563
つPython
570:デフォルトの名無しさん
08/02/12 00:28:51
今後のバージョンアップでどうなるかわからないという話なら
CだろうがJavaだろうがPythonだろうが同じじゃね
一番安全なのはバージョンアップしないことだろ
571:デフォルトの名無しさん
08/02/12 01:08:21
Cを混ぜるなw
572:デフォルトの名無しさん
08/02/12 05:11:17
ようやくPathnameにダメ出しする人があらわれたか
573:デフォルトの名無しさん
08/02/12 05:45:02
>>571
確かに、「いずれ死ぬという話なら末期癌の老人も健康な子供も同じ」みたいな。
574:デフォルトの名無しさん
08/02/12 15:10:43
古いのを永久に使えるという意味でCは特別な存在。
575:デフォルトの名無しさん
08/02/12 15:38:12
孫にあげるのはもちろんヴェルタースオリジナル。
なぜなら・・・
576:デフォルトの名無しさん
08/02/12 16:12:23
孫もまた特別な存在だからですハァハァ
577:デフォルトの名無しさん
08/02/12 16:15:30
特殊な存在ktkr
578:デフォルトの名無しさん
08/02/12 17:02:07
ショタ☆ジジ
579:デフォルトの名無しさん
08/02/12 23:35:47
C99コンパイラでもちゃんとコンパイルできることに感動
でも、
g++だとやっぱダメだね。mallocとかの型チェック関係だけかと思ったら
可変長引数関数ポインタのプロトタイプでエラーでるわ。規格だと少なくとも1つは
固定引数にしないといけないんだから今のANYARGSを...に置き換えるだけ
じゃ意味ないと思うんだけどなあ。その辺考えてないのかな。
580:デフォルトの名無しさん
08/02/12 23:39:58
いきなりで何の話かわからんのだが、とりあえずその環境でコンパイルできるコンパイラがあるんならいいんじゃね?
正直バイナリになってしまえば皆同じ?
581:デフォルトの名無しさん
08/02/12 23:45:28
C++でコンパイルでできたほうがなんか型安全っぽいじゃない
最近のゲームプログラミングとかもg++でCのコードをコンパイルするんだって。
582:デフォルトの名無しさん
08/02/13 00:27:01
「っぽい」とかいう適当な理由を出されても。
583:デフォルトの名無しさん
08/02/13 01:01:54
本体がC++である必要がなくってもライブラリ、
ミドルウェア側の都合でC++のランタイムが必要なわけで、
Rubyも将来的には是非C++でコンパイルを。
584:デフォルトの名無しさん
08/02/13 01:06:39
そりゃ作者が引退するまで無理だろw
585:デフォルトの名無しさん
08/02/13 01:10:51
C++なぞ問題外.^^;;;
586:デフォルトの名無しさん
08/02/13 01:49:38
Rubyには直接関係ないけど、最近のruby-list@bladeはUTFメールの
文字コード判定に失敗してウェブから読めない投稿が多いなあ。
あと、namazu検索が止まってるのも問題。インフラだからもうすこし
しっかりしてほしいよ。
587:デフォルトの名無しさん
08/02/13 03:24:48
Rubyistってロリコンなの??
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)
Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)
588:デフォルトの名無しさん
08/02/13 03:34:50
Rubyはエロ画像収集言語です
589:デフォルトの名無しさん
08/02/13 03:35:02
><;
590:デフォルトの名無しさん
08/02/13 03:39:36
>>587
つか、Rubyにかぎらんような。
JPEG2000のSusieプラグインの人とかはショタコンだし。
591:デフォルトの名無しさん
08/02/13 03:50:29
これは痛すぎるぜ
592:デフォルトの名無しさん
08/02/13 03:59:01
perl の人はアニオタじゃなかったけ?
593:デフォルトの名無しさん
08/02/13 06:38:37
>>592
> perl の人はアニオタじゃなかったけ?
昔はラムちゃんTシャツとかで有名だった。
最近は、
URLリンク(gihyo.jp) より
あずまんがらしい。
> 弾:最近お気に入りのアニメは?
> ラ:《あずまんが大王! ちよちゃん大好き!》(ちよちゃんの歌「つくりましょう!」を歌い出す)
マクロスネタも通じる。
> ラ:文化,でしょうか。どれだけ優れたソフトウェアでも,文化を持たないものは普及しません。《プロトカルチャ~(※5)》
> 弾:ヤックデカルチャ!(※5)
オタクが嫌ならPerlもやめといたほうがいいね。
594:デフォルトの名無しさん
08/02/13 07:20:00
URI::Genericに、 alias to_str to_s がないって報告して
595:デフォルトの名無しさん
08/02/13 07:20:31
>>593
>オタクが嫌ならPerlもやめといたほうがいいね。
Rubyも駄目だろwww
596:デフォルトの名無しさん
08/02/13 07:38:36
世間ではプログラミングがそもそもオタク行為だから、
その中で今さらなことを気にしてもしょうがないよ。
597:デフォルトの名無しさん
08/02/13 07:57:10
>>595-596
そう。だから、嫌なら出てけば、って言ってるつもり。
598:デフォルトの名無しさん
08/02/13 08:30:31
エログラマー
599:デフォルトの名無しさん
08/02/13 08:40:11
>>595
「も」って書いてあるのにその発言は痛い。
600:デフォルトの名無しさん
08/02/13 09:08:22
オタクは肯定できてもロリコンは肯定できないね
児童ポルノは持ってるだけで違法になるっぽいし
>>587はパブリシティー権を犯してる
601:デフォルトの名無しさん
08/02/13 09:17:48
2chのスレから児童的に取ってきてるだけでしょ
602:デフォルトの名無しさん
08/02/13 09:32:44
>>601
児童的ワロタ
603:デフォルトの名無しさん
08/02/13 09:41:34
持ってるだけで違法なのはいいとして、
持っているかどうか調べるのはプライバシーの侵害ではないのか。
604:デフォルトの名無しさん
08/02/13 09:42:22
あと、被写体の年齢の証明方法を教えてほしいね。
605:デフォルトの名無しさん
08/02/13 09:53:23
ていうか板違い
↓に池
女子中学生
スレリンク(win板)
606:デフォルトの名無しさん
08/02/13 09:54:16
>>594
過去にto_strなくしたようだけど、リファレンスには残ってるね
URIは基本的に文字列だし、to_strあったほうが便利な気がするけど
607:デフォルトの名無しさん
08/02/13 09:57:17
Rubyistロリコンばっかかよwwww
608:デフォルトの名無しさん
08/02/13 10:10:26
perlはアニヲタだからrubyは児童ポルノで対抗するのか
恥さらしだからヤメレ
609:デフォルトの名無しさん
08/02/13 10:12:21
俺は熟女の画像しか保存してない
610:デフォルトの名無しさん
08/02/13 10:14:20
性癖をごまかす証拠を用意してるやつは、リアルでやりまくり。
611:デフォルトの名無しさん
08/02/13 10:24:40
>>587のブロマイドって売り物でしょ?
逮捕されないの?
612:デフォルトの名無しさん
08/02/13 11:02:25
>>611の知識の浅さに失望した
613:デフォルトの名無しさん
08/02/13 11:28:09
著作権法違反にも幇助あるよ
614:デフォルトの名無しさん
08/02/13 11:49:17
こいつの本見たことあるけど変なAA使っててきもかった
AAなんて2ch中だけでやってろよ
615:デフォルトの名無しさん
08/02/13 11:51:06
お前も十分着も伊予
616:デフォルトの名無しさん
08/02/13 12:00:27
ヒント:統一協会
617:デフォルトの名無しさん
08/02/13 12:53:38
>>614
> こいつの本見たことあるけど変なAA使っててきもかった
> AAなんて2ch中だけでやってろよ
結城先生にもご注進したら~w
URLリンク(www.hyuki.com)
618:デフォルトの名無しさん
08/02/13 13:07:49
>>617
「にも」って・・・もしかして、2chに何かを書き込むのが
本人への「注進」に値すると思ってるの?
619:デフォルトの名無しさん
08/02/13 16:23:30
アンチはアンチスレでお願いします
620:デフォルトの名無しさん
08/02/13 19:22:19
あぁ まさかまさか、重要な仕事を依頼しようとしている相手がこのような異常性癖の持ち主だったとは
こ、子供相手に信じられん!!
俺なら断然巨乳の女、映画女優で言うとイザベル=アッジャ~ニが良いのに!
621:デフォルトの名無しさん
08/02/13 19:24:35
なつかしー
622:デフォルトの名無しさん
08/02/13 23:53:02
結城も微妙だが、だからといって西和則が恥晒しなことは変わらない
623:デフォルトの名無しさん
08/02/13 23:58:25
無限長演算はいつ標準実装されるの。あとRational(3, 4)は3/4って表示してよ。
624:デフォルトの名無しさん
08/02/14 00:01:08
devでbigdecimalやrationalの話してるんだから混じってきたら?
625:デフォルトの名無しさん
08/02/14 00:01:20
1, 2, ... と無限まで続くRangeが欲しいなあ
626:デフォルトの名無しさん
08/02/14 00:15:11
とりあえずこんなのでしのぐのかな。
遅いらしいけど。
require 'generator'
class IntegerSequence
def initialize(from=1, step=1)
@gen = Generator.new {|g| loop { g.yield(@i ||= from); @i += step } }
end
def next; @gen.next end
end
evens = IntegerSequence.new(2, 2)
puts evens.next
puts evens.next
puts evens.next
:
:
627:デフォルトの名無しさん
08/02/14 00:20:10
うん、1.9のEnumeratorを使えばできるのはしってるけど
綺麗なリテラルがほしいのね
628:デフォルトの名無しさん
08/02/14 00:24:23
>>623
to_sすれば3/4ってなるけど
inspectはそのままevalできるのを出力する傾向があるから
Rational(3, 4)のまま変わらないんじゃないか?
629:デフォルトの名無しさん
08/02/14 02:16:11
>>625
(1..1/0.0).each{|x|p x}
630:デフォルトの名無しさん
08/02/14 02:36:41
>>629
おお!・・・Infinityってそのまま書けないの?
tやnilがあんだしInfinityぐらいいいじゃんと思うけど・・・
Float::Infinityでもいいけど
631:デフォルトの名無しさん
08/02/14 02:47:36
と思ったらMath::Infがあったか。
これからは
include Math
(1..Inf).each
を使うことにする。ありがとう。
632:デフォルトの名無しさん
08/02/14 03:00:32
$ irb
>> include Math
=> Object
>> Inf
NameError: uninitialized constant Inf
from (irb):2
どこで定義されてるん?
633:631
08/02/14 03:26:30
???
あれ、どういうこと?確かにあったのに・・・
と思ったらこういうことらしい。
Math::Inf
=> NameError: uninitalized constant Inf
Inf = 1/0.0
=> Infinity
Math::Inf
=> Infinity
つまり、定数を任意のクラスから参照できてしまうみたい。
1.8だとErrorがでるけど1.9だとスルー。バグかな?
634:デフォルトの名無しさん
08/02/14 03:42:58
URLリンク(www.rubyist.net)
いや、これのせいかな?
Hoge = 200
module Fuga; end
puts Fuga::Hoge # => 200
Fuga::Hoge = 300
puts Hoge # => 200
が通っちゃうからちょっと奇妙に思えるけどなあ。
635:デフォルトの名無しさん
08/02/14 04:41:21
そんなんダメじゃん。あほだな1.9
636:デフォルトの名無しさん
08/02/14 05:26:26
classも定数だからこういうこともできるね
class A; end
puts A::A::A::A::A::A::A::A::A::A::A::A # => A
すごいなRuby1.9!
637:デフォルトの名無しさん
08/02/14 05:31:39
ワロタ
638:デフォルトの名無しさん
08/02/14 12:38:53
これはwwwwww
639:デフォルトの名無しさん
08/02/14 17:10:08
>>636
よく理解してないんだが、1.8でも警告は出るけど同じ結果。
640:デフォルトの名無しさん
08/02/14 17:11:21
1.9では本採用ってことかw
641:デフォルトの名無しさん
08/02/14 17:30:21
>>636 が変だと一瞬でも思った奴は arr[1][0] で引っかかる奴だな
>>639
Object::Object が Object を返すだけ
何億回繰り返しても Object::Object が Object を返していることの繰り返し
642:デフォルトの名無しさん
08/02/14 17:58:22
アホ乙
643:デフォルトの名無しさん
08/02/14 19:36:51
>634の前半が変だと一瞬でも思わないやつは、変な言語仕様に引っかかって
時間を無駄にする奴だろう。
moduleは名前空間の分離にも使われるのに、存在しない名前が参照できてどうするよ。
644:デフォルトの名無しさん
08/02/14 19:47:17
:: 演算子を使うとクラス定義の中で素で参照できる定数全部を参照できるってことか
それほど困らないけど気持ち悪いな
class A;end
A::String
とかが出来ちゃうとか
645:デフォルトの名無しさん
08/02/14 19:51:08
困ります
646:デフォルトの名無しさん
08/02/14 19:51:12
moduleを名前空間の為に使うんじゃねぇよゴルァ!
ってこと?
647:デフォルトの名無しさん
08/02/14 20:46:59
まあモジュールの中からトップレベルの定数を参照出来ないと死ぬほど面倒臭いんだが。
…… "::" を打つのがそんなに面倒なのかとか問わない。
648:デフォルトの名無しさん
08/02/14 21:16:23
モジュールの中はネストの関係で参照できて当然で、そんなことを言ってるんじゃない
649:デフォルトの名無しさん
08/02/14 21:18:02
明示的にA::Bって書いてるんだから、この仕様は不自然だろ
650:デフォルトの名無しさん
08/02/14 21:19:53
結論:toplevelは気持ち悪い
651:デフォルトの名無しさん
08/02/14 21:27:15
class Main
public:
def self.main
内じゃないと実行できないようにしようぜ
652:デフォルトの名無しさん
08/02/14 21:27:55
トップレベルの定数がObjectにくっ付いてるのが悪い
653:デフォルトの名無しさん
08/02/14 21:33:24
>>652
うーん…
654:デフォルトの名無しさん
08/02/14 21:47:14
const_missingがあった場合はなんか予期しない振る舞いになる気がするなあ。
class Foo
def self.const_missing(id)
43
end
end
Foo::Bar
=> 43
(....)
Bar = 9
Foo::Bar
=> 9
655:デフォルトの名無しさん
08/02/14 21:48:38
と思ったけどこれは1.8でも同様か。ま、シャドウイングするか別いいかな。
656:デフォルトの名無しさん
08/02/14 21:50:35
::の無い定数呼び出しと ::有りの定数呼び出しは区別してくれた方が良さそうだ
657:デフォルトの名無しさん
08/02/14 21:59:46
class String
String.new
end
で2つのStringが別のものになるとかなり当惑しそうだな。
658:デフォルトの名無しさん
08/02/15 17:04:54
別にトップレベルが見えてもいいとは思うけど少なくとも警告は(1.8のように)
してほしいなあ。この辺は小さくハックできるのと大規模アプリのために
きっちりエラーになるとの違いだけどさあ。
659:デフォルトの名無しさん
08/02/16 01:03:11
a=[[0]]*4
p a #=> [[0],[0],[0],[0]]
a[0][0]=1
a[1][0]=2
p a #=> [[2],[2],[2],[2]]
意味ねぇwwwwwwwwwwwww
660:デフォルトの名無しさん
08/02/16 01:07:07
a=Array.new(4){[]}
p a #=> [[0],[0],[0],[0]]
a[0][0]=1
a[1][0]=2
p a #=> [[1], [2], [], []]
661:デフォルトの名無しさん
08/02/16 03:50:18
nannzo?
I understand it -> a[0][0]
662:デフォルトの名無しさん
08/02/16 03:50:47
Sorry, >>661 is mistake...
I DO NOT understand it -> a[0][0]
what is meaning?
663:デフォルトの名無しさん
08/02/16 04:07:44
>659
[[0]]*4 なので、生成してる[0]は1つだけ。
aの中身のそれぞれの[0]は、全く同じ[0]を参照してる。
だから、それを変更すると全部置き換わったように見える。
664:デフォルトの名無しさん
08/02/16 04:09:07
>>662
Ruby 初心者スレッド Part 16
スレリンク(tech板)
665:デフォルトの名無しさん
08/02/16 04:48:31
a=Array.new(4){[]}
p a #=> [[0],[0],[0],[0]]
???
666:デフォルトの名無しさん
08/02/16 09:59:20
そこは記述ミスだな
頭の中だけで考えて書いたのだろう
irb> a=Array.new(4){[0]}
irb> p a
[[0], [0], [0], [0]]
irb> a.each{|e| p e.object_id}
538351488
538351438
538351278
538351218
irb> a[1][0]=1; a[2][0]=2
irb> p a
[[0], [1], [2], [0]]
667:デフォルトの名無しさん
08/02/16 11:59:19
Rubyistってロリコンなの??
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)
Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)
668:デフォルトの名無しさん
08/02/16 12:09:00
>>666
irbのコピペを整形するのって面倒なんだよね
669:デフォルトの名無しさん
08/02/16 14:17:01
生
URLリンク(ruby-sapporo.org)
670:デフォルトの名無しさん
08/02/16 14:18:18
スレリンク(tech板:667番)
名誉毀損
671:デフォルトの名無しさん
08/02/16 14:23:54
事実で名誉毀損も糞もないと思うが
672:デフォルトの名無しさん
08/02/16 14:26:33
結構いるよね、事実を口にするだけなら名誉毀損にならないと思ってる人。
刑法230条あたりを調べてみるといいよ。
673:デフォルトの名無しさん
08/02/16 14:40:11
宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
その宗教の人から隣地殺人される。
モルモン教は差別されるような宗教なのかと。恥ずかしいことなのかと。
674:デフォルトの名無しさん
08/02/16 14:43:01
>宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
>その宗教の人から隣地殺人される。
こういうのが名誉毀損なんだろうな
675:デフォルトの名無しさん
08/02/16 14:47:46
>>667は名誉毀損なのか?
全部公開情報じゃないか。見せたくなければwebにしないか認証でもかけておけばいいのに
676:デフォルトの名無しさん
08/02/16 14:54:45
舞波の人にとっては>>667みたいに書かれても
「それがどうした」レベルの話だと思うぞ。
677:デフォルトの名無しさん
08/02/16 15:09:18
コピペするエネルギーを別の事に使えばいいのに
678:デフォルトの名無しさん
08/02/16 15:20:36
>>674
>宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
>その宗教の人から隣地殺人される。
これが事実っていう意味?
679:デフォルトの名無しさん
08/02/16 15:52:13
でもまあ、アンチはレベルが低いというのはよくわかった。
680:デフォルトの名無しさん
08/02/16 17:39:33
信者はさらに低レベルなんですねwww
681:デフォルトの名無しさん
08/02/16 17:48:46
>>671が切り口を変えようと必死だなぁ。
無駄なのにw
682:デフォルトの名無しさん
08/02/16 19:15:11
>>674
有害なものの一つとして金閣寺が含まれている事実を知らないらしい。
理由は宗教だから。
ちなみに有害としてるのはNTTドコモね。
683:デフォルトの名無しさん
08/02/17 03:57:00
へえ、そうなんだ。その話は興味深いけど、急になんのこっちゃ?っていうw
疑問符いちいち言うとグダる一方だな。
お手数かけますが、一旦何伝えたいのか整理して欲しい
俺も横から突っ込み入れたクチなんで、明確な非があったなら謝るから
684:デフォルトの名無しさん
08/02/17 09:54:48
国宝であり観光地である金閣寺は宗教だから有害
Rubyは日本産で新しいプログラミング言語だけど宗教だから有害
685:デフォルトの名無しさん
08/02/17 10:58:24
>>544
ここで働きたいぜ。
686:デフォルトの名無しさん
08/02/17 12:40:15
島根CMS age
島根県のホームページ管理システムがOSSとして無償公開,地元企業がRubyで開発:ITpro
URLリンク(itpro.nikkeibp.co.jp)
687:デフォルトの名無しさん
08/02/17 12:49:16
島根でやったのは正解だな。
アクセス数もそんなにないだろうから、一応公的システムの実績として上げられるしな。
688:デフォルトの名無しさん
08/02/17 13:10:56
>>686
GalateaってGPLで配布できないんじゃないの?
BSDライセンスと同じ理由で。
それとも俺の勘違いか?
689:デフォルトの名無しさん
08/02/17 13:24:35
URLリンク(www.gnu.org)
を読む限り、宣伝条項は名前を変えたバリエーションが増えるとうざい
よね、という話に見えるんだが、GPLと非互換になるとしている文章多いな。
690:デフォルトの名無しさん
08/02/17 19:15:20
GPLはGPLにない配布制限を入れてはいけない
というライセンスなので宣伝条項付きは非互換
691:デフォルトの名無しさん
08/02/17 19:20:17
>>684
金閣寺は国宝ではない。
金閣寺は実は本来は寺ではない。つーか、あれをどういう宗教だと思ってるんだ?
つーかちょっとは調べてから発言しろよ。
692:デフォルトの名無しさん
08/02/17 19:53:07
拝金主義の権化だって言ってた奴もいたなあ
693:デフォルトの名無しさん
08/02/17 19:54:13
>>691
国宝じゃないとは知らなかった。
しかし、金閣寺は宗教施設と分類されている事実。
694:デフォルトの名無しさん
08/02/17 20:04:03
放火される前の本物の鹿苑寺金閣は国宝だったんだけどね
今現存するのは屋根の上の飾りを除いて復元のレプリカ
金閣寺本体を見て「なんかケバくて感動しない」と感じるのはある意味正しい
むしろ庭とかのほうが歴史の味が残っていて美しいと思う
695:デフォルトの名無しさん
08/02/17 20:05:45
孤独を埋めたいならこんなところでがんばってないで風俗でも逝って来い
696:デフォルトの名無しさん
08/02/17 20:17:47
日本の寺なんか何度も燃えてるだろ
697:デフォルトの名無しさん
08/02/17 22:06:54
本能寺とかな
あれは熱かった・・
698:デフォルトの名無しさん
08/02/17 22:09:34
>>697
先に腹切ったんだから熱くないだろ
699:デフォルトの名無しさん
08/02/17 22:10:10
うちまで火の粉が飛んできて大変だったよ
700:デフォルトの名無しさん
08/02/17 22:25:42
比叡山が燃えたときは涼しかったらしいぞ。
701:デフォルトの名無しさん
08/02/17 22:41:40
冷ぇ~
702:デフォルトの名無しさん
08/02/17 22:52:51
いつから大喜利スレになったんだ
703:デフォルトの名無しさん
08/02/17 23:39:01
それも寒いネタばっかり
704:デフォルトの名無しさん
08/02/18 05:58:23
比叡山で冷ぇ~だもんな
705:デフォルトの名無しさん
08/02/18 05:58:59
我慢大会みたいな。
706:デフォルトの名無しさん
08/02/18 09:58:27
配列とハッシュってどっちがアクセス早いの?
707:デフォルトの名無しさん
08/02/18 10:20:14
1000要素くらいでは1万回くらい実行しないと変わらないと思う
で、要素の塊に対してどういうアクセスをするかで違う、が答じゃね
708:デフォルトの名無しさん
08/02/18 11:05:50
>>706
疑問になったらまずは自分でベンチマークを書くんだ
709:デフォルトの名無しさん
08/02/18 18:56:14
そしておれたちに報告するんだ
710:デフォルトの名無しさん
08/02/18 20:03:07
まず 「アクセス」 を定義するんだ。
711:デフォルトの名無しさん
08/02/18 23:11:37
浅倉。
712:デフォルトの名無しさん
08/02/18 23:13:28
もう一人カワイソス
713:デフォルトの名無しさん
08/02/19 11:10:28
Rubyistってロリコンなの??
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)
Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)
714:デフォルトの名無しさん
08/02/19 11:26:26
>>713
アンチスレから出てくんな
715:デフォルトの名無しさん
08/02/19 18:28:29
require_relative
716:デフォルトの名無しさん
08/02/19 23:27:16
クリエイティビティみなぎる俺には物足りないんだよねruby
某蛇言語は俺のハートをガッシリ掴んだが
お前らrubyプロはこれ使って何やってんの?具体的に教えてくれよ
717:デフォルトの名無しさん
08/02/19 23:41:01
>716
逆にRuby使いからするとPython使って何してるのか判らんワケで…。
結局似たようなことやってんじゃね?
718:デフォルトの名無しさん
08/02/19 23:44:10
shスクリプト
Perl PHP
の三角の間の何かをしてるんだろうな
719:デフォルトの名無しさん
08/02/20 00:06:22
>>716-717
どっちの言語も、学ぶことで形にできるようになるものといったら、
「上から目線で他言語を煽ること」くらいだものな。
720:デフォルトの名無しさん
08/02/20 00:26:06
PyhonはググルとMSにヨイショされてるからその点では明らかにPyhon>Ruby
Matzもどこかにもぐりこめばいいのに^^;
721:デフォルトの名無しさん
08/02/20 00:55:24
>706
"ID;text"っていう形式で2万行くらいあるcsvデータに
与えた文字列とぴったり一致するIDが存在するかどうかを調べるスクリプトを書いた結果から言えば
配列よりハッシュのほうが20倍くらい速かった。他の処理は知らん。
722:デフォルトの名無しさん
08/02/20 01:02:59
Arrayへのinclude?やgrepはHashへのhas_key?やfetchに比べれば遅いだろうな
723:デフォルトの名無しさん
08/02/20 01:15:14
配列とハッシュのデータ構造の違いの話なんだからRubyの問題じゃないでそ
実験して見るまでも無いさ
724:デフォルトの名無しさん
08/02/20 02:00:52
include?とhas_value?ならinclude?のほうが早かったよ
725:デフォルトの名無しさん
08/02/20 10:47:41
>>724
kwsk
726:デフォルトの名無しさん
08/02/20 22:33:34
Linux Standard Base 3.2がリリース
Linux標準にPerlとPythonが追加
URLリンク(www.atmarkit.co.jp)
PythonはGUI強いからなあ
727:デフォルトの名無しさん
08/02/20 22:53:24
プログラミング初心者ですが、質問があります。
Pythonは言語自体はシンプルで、必要な機能は拡張モジュールを使って追加する、と
PyJUGのホームページに書いてありました。
これは、Rubyにも当てはまりますか?
728:デフォルトの名無しさん
08/02/20 22:55:24
大体おk
729:デフォルトの名無しさん
08/02/20 23:03:14
>>728
横からすまん。
>>727のレスを見て完全にあてはまると思ったんだが、大体に当てはまらないのはどのへん?
730:727
08/02/20 23:03:37
出来れば具体的にお願いしますm(_ _)m
731:デフォルトの名無しさん
08/02/20 23:19:56
困る728w
732:デフォルトの名無しさん
08/02/20 23:44:11
728じゃないが
>言語自体はシンプル
この辺かなぁ。
てゆーか、俺はRubyもPythonも
シンプルさを売りに出来るほどシンプルとは思わんが。
まぁ、シンプルでなきゃダメダメなんて言うつもりもないけど。
733:デフォルトの名無しさん
08/02/20 23:49:39
シンプルと感じるかどうかは人によって異なるからなあ
>>728みたいに曖昧な答えになるのは当然じゃないの
734:デフォルトの名無しさん
08/02/20 23:52:52
シンプルに記述することはできるよね。
でもその裏返しに、込められた意味は多いってことだから。
これを「カンタン」と言うのは変だよね。
ってスタンスでそ。
735:デフォルトの名無しさん
08/02/21 00:01:44
Rubyの複雑さは人間に優しい複雑さだから。
736:デフォルトの名無しさん
08/02/21 00:15:45
ソースが仕様で人間にも優しい
737:デフォルトの名無しさん
08/02/21 01:03:27
話としては、処理系自体は機能をある程度絞っていて、必要なら自分で拡張モジュール追加しろ、ということだろ?
そう言われると「シンプルかなあ」という気はするよね。
記述性がどうこうというのはまた別問題。
738:デフォルトの名無しさん
08/02/21 01:29:01
ソースが仕様って、開発してる奴バカなの?
739:デフォルトの名無しさん
08/02/21 01:40:55
>>738
という頭の悪いレスを返すお前に全俺が泣いた。
740:デフォルトの名無しさん
08/02/21 06:22:09
ソースが仕様書です
ってくらい分かりやすく記述せよって事じゃないのかw?
741:デフォルトの名無しさん
08/02/21 08:45:48
じゃあinject禁止
742:デフォルトの名無しさん
08/02/21 08:53:37
時々ある Hoge.new(params) ではなく Hoge(params) 形式の関数的クラスは使用禁止な
743:デフォルトの名無しさん
08/02/21 10:43:06
>>738
釣りだよね?
744:デフォルトの名無しさん
08/02/21 11:34:41
>>738
もうわかったと思うけど、そこを指摘すると信者がひどくファビョるから注意な。
745:デフォルトの名無しさん
08/02/21 12:17:24
>>744
頭が悪いといわれても、そんなに怒るなよ。
746:デフォルトの名無しさん
08/02/21 13:20:11
ファビョってるw
747:デフォルトの名無しさん
08/02/21 14:41:28
メジャーな言語になってしまうと、
>>746みたいな低レベルな人間も使ってしまうところが
嫌な事だな。
748:デフォルトの名無しさん
08/02/21 14:50:29
長く使ってるとアンチになるというのが定説
749:デフォルトの名無しさん
08/02/21 14:51:26
ただでさえ資金も人も時間も足りないんだから、凄然とされた仕様書を
書いている暇があったら、ソースコードに手を入れてください (> <)
750:デフォルトの名無しさん
08/02/21 14:55:45
使えば使うほど仕様の不安定さに泣かされることになるからな
今はもう取り下げられたが、少し前には、
お前ら本当にRuby使ってんのかよ的な仕様変更がいくつか提案されててうんざりしたわ
751:デフォルトの名無しさん
08/02/21 15:32:50
Matzが日本人じゃなかったら間違いなくPythonつこうとる
752:デフォルトの名無しさん
08/02/21 16:03:49
Matzが日本人じゃなくてもどっちを使うかと言われたらRubyだなあ。
もっとも、Matzが日本人じゃなかったらとっくに捨ててRubyでもPythonでもない別の言語を使ってる。
753:デフォルトの名無しさん
08/02/21 16:05:47
>>750
HashMapとArrayの混合の事?
754:デフォルトの名無しさん
08/02/21 17:59:31
てか1.9での変更に文句つけるやつはただのアホだろ
755:デフォルトの名無しさん
08/02/21 18:20:16
みんな文句つけまくりでMatzが案を引っ込めるのがよくあるパターンですが
756:デフォルトの名無しさん
08/02/21 19:41:55
じゃあ、こうなったら
Yet Another Ruby
をみんなで作ろうぜ。
略してYAR。
757:デフォルトの名無しさん
08/02/21 19:44:44
とりあえず String#sg という名前は末代まで語り継ぎたい。
758:デフォルトの名無しさん
08/02/21 19:47:56
結局それは何をするメソッドなの?
759:デフォルトの名無しさん
08/02/21 19:58:41
名前重要っていう、Matzへのしっぺ返しメソッドとして語り継がれるわけだ
呼べば NamaeJuuyouError < NameError な例外がかえって来るように実装すればいいんじゃね?
760:デフォルトの名無しさん
08/02/21 19:59:57
double pi=3.14159265358979823846;
if((fp=fopen("PI.bin","wb"))==NULL)
printf("\aファイルをオープンできません。\n");
else{
fwrite(π,sizeof(double),1,fp);
fclose(fp);
}
C言語で↑のようにpiをバイナリファイルに書き込んで、
BZというバイナリエディタで開いたのですが”$-DT・ @”(文字部)と表示されました。
その後にfread関数でPI.binの内容をプログラム上で出力すると3.1415926……とさきほどの数字に限りなく近い数字できちんと表示されたのですが
バイナリエディタで見ると変な文字に変わってしまうのは、何が原因なのでしょうか?これをバイナリファイルとして正しく見れる方法はあるのでしょうか。
761:デフォルトの名無しさん
08/02/21 20:17:38
そりゃ浮動小数点数は、整数とはバイナリへの納め方がちがうもんよ
762:デフォルトの名無しさん
08/02/21 20:31:58
>>760
URLリンク(www.cc.kyoto-su.ac.jp)
今ググったら出てきた。ここ行って6,7読んで勉強汁。
というか、本買って読め。
あと、質問の内容が全然 Ruby と関係ないから、
次からはちゃんと適切なスレで質問して。
763:デフォルトの名無しさん
08/02/21 21:07:20
こいつD言語スレでも見たぜ
764:デフォルトの名無しさん
08/02/21 21:25:54
>>762が答えてくれたんだからいいじゃん
きちんと最後まで責任持てよ
765:デフォルトの名無しさん
08/02/21 23:32:06
>>760
fwrite(π,sizeof(double),1,fp);
↓
fprintf(fp, "%lf", π);
766:デフォルトの名無しさん
08/02/21 23:38:10
>>765
πはそのままなんだ。Cってこんな書き方できるんだ
767:デフォルトの名無しさん
08/02/21 23:42:13
できねーよ
768:デフォルトの名無しさん
08/02/22 00:05:06
Array#between(start..end)
が欲しいな
Array#slice(start..end)
Array#slice(pos[, len])
は引数が2パターンあってあんまり綺麗じゃない
769:デフォルトの名無しさん
08/02/22 08:33:38
それはbetweenではない
770:デフォルトの名無しさん
08/02/22 08:41:02
Array#kanibasami
771:デフォルトの名無しさん
08/02/22 08:43:47
Array#pafupafu
772:デフォルトの名無しさん
08/02/22 08:52:17
面白いと思っているのか?
773:デフォルトの名無しさん
08/02/22 10:27:58
うん。わりと・・・
774:デフォルトの名無しさん
08/02/22 11:16:32
Rubyistってロリコンなの??
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)
Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)
775:デフォルトの名無しさん
08/02/22 11:20:33
コピペ君て馬鹿(ry
776:デフォルトの名無しさん
08/02/22 11:21:49
西 和則ってのがロリコンなだけだ
Rubyは関係ない
777:デフォルトの名無しさん
08/02/22 11:58:44
>>776
!否… Rubyistです…
r
778:デフォルトの名無しさん
08/02/22 12:04:13
>>777
包含関係、必要条件、十分条件、逆、対偶、といったことが理解できない人はこの板に来ないほうがいいと思うよ、マジで。
779:西和則
08/02/22 12:07:47
俺はロリ~コ~ン
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)
Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)
780:デフォルトの名無しさん
08/02/22 12:11:14
>>778
!理解しました…
r ???品質と云う物ですね???
781:デフォルトの名無しさん
08/02/22 12:13:51
で西 和則って誰
782:デフォルトの名無しさん
08/02/22 12:18:44
>>781
?さぁ… 何方でしょう…
r
783:デフォルトの名無しさん
08/02/22 13:37:10
>>778
WHOISの意味がわからない人も見てて恥ずかしいからなんとかして欲しい
784:デフォルトの名無しさん
08/02/22 13:49:50
この変な文章はこのあいだまでlinux板にいたアナスイだろ
相手しちゃダメですよーー
785:デフォルトの名無しさん
08/02/22 15:05:58
推奨NGWORD:西 和則
786:デフォルトの名無しさん
08/02/22 15:06:23
推奨NGWORD:ロリ
の方がいいか
787:デフォルトの名無しさん
08/02/22 15:39:54
MLの質問の仕方はどうにかならんもんなのか。
うまく動かなかったら、コードを削って最小限のコードを
提示するのが当たり前だと思うのだが。
788:デフォルトの名無しさん
08/02/22 16:37:12
どうにもなってない以上それは「当たり前」ではないのだろ
あんたはその「当たり前」はどうやって習得した?
789:デフォルトの名無しさん
08/02/22 16:46:16
net/protocol.rbからTimeout::Errorが飛び出すのは設計ミス
790:デフォルトの名無しさん
08/02/22 16:51:08
>>789
うむ
791:デフォルトの名無しさん
08/02/23 00:15:33
>>788
おれは仕事故、先輩諸氏に徹底的に追い詰められる事で覚えたな。
最近は甘やかしすぎというか、いい人し過ぎな馬鹿が多いんだろう。だから馬鹿が増える。その馬鹿が馬鹿を育てる。悪循環というわけだ。
で、お前は?
792:デフォルトの名無しさん
08/02/23 00:24:50
最近Rubyの話題があんまりないような
793:デフォルトの名無しさん
08/02/23 00:32:19
1.9.0-1が出たらあーだこーだ盛り上がります
794:デフォルトの名無しさん
08/02/23 00:33:46
その内容は今と大差ないdis合戦とちゃうんか?
795:デフォルトの名無しさん
08/02/23 00:41:22
せめて1.9.1が出てくれないと盛り上がらない
796:デフォルトの名無しさん
08/02/23 00:53:41
Rubyの標準ライブラリって死んでるのが多いよね。
CGI系はご覧のとおりで、ドキュメントもテストも少ない。cgiextを取り込んで
kuwataさんにメンテナになってもらえばいいのに。
DLなんかはインタフェイスが変わってるというのにドキュメントがまったくないし。
人に使ってもらう気がないというか、狂ってるよね。
GUIはもういい加減Tkを捨てたほうがいい。debianでもデフォルトで
ライブラリが作られないなんてやる気がないとしか思えん。
せめてruby/gnome2を取り込めばいいのに。
797:デフォルトの名無しさん
08/02/23 01:06:16
ドキュメントの無いライブラリは全部obsoleteにしろよ
存在が無意味だから
798:デフォルトの名無しさん
08/02/23 01:09:23
ドキュメントがないライブラリは結局自分で読み砕かないといけないから自分で書くのとあんまり変わらん
799:デフォルトの名無しさん
08/02/23 01:13:48
>>798
書き手にある程度の信頼が置ければ、またそのライブラリが十分にメンテされていれば、自分で書くよりは遙かに楽、だとは思うけどね
ただ十分にメンテされているライブラリにドキュメントがないっていう状況があるかどうかは知らない
800:デフォルトの名無しさん
08/02/23 01:16:40
Rubyのライブラリで信頼がおけるのは、PythonかPerlで使われてて
十分ならドキュメントがあるやつをパクってきたやつだな。
これならサンプルコードをべたに移植すればだいたい動くしね。
801:デフォルトの名無しさん
08/02/23 01:20:00
>>800
Perlのを移植したcgi.rbはまったく信頼がおけない
802:デフォルトの名無しさん
08/02/23 01:22:48
>>801
Perlのを移植したんだっけ?
803:デフォルトの名無しさん
08/02/23 01:24:04
>>791
コード削らんな、コンパイラのバグか、自分のバグかわかんないからな
804:デフォルトの名無しさん
08/02/23 01:47:55
Lisp相当のマクロ搭載しろよ。
805:デフォルトの名無しさん
08/02/23 02:02:57
mycomジャーナルで知ったんだが、rushとかいうrubyで書かれたシェルがあるらしい。
sshのコネクションも一つのオブジェクトとして解釈するとか結構面白そう。
使ってる人いる?
806:デフォルトの名無しさん
08/02/23 02:08:39
昔からそんなのなかったっけ
あまりにも昔からあるもんだから「使えなかった時代」の印象で
旧い人たちには現在もスルーされまくってるというのがありがちだが
807:デフォルトの名無しさん
08/02/23 02:09:06
ラッシュってホモゲイの人が使う興奮剤じゃなかったっけ
808:デフォルトの名無しさん
08/02/23 02:13:32
Ruby版Windows Power Shellみたいなのだろうか
URLリンク(journal.mycom.co.jp)
URLリンク(rush.heroku.com)
URLリンク(www.stage6.com)
809:デフォルトの名無しさん
08/02/23 02:27:57
Rush違い
810:デフォルトの名無しさん
08/02/23 11:52:16
例のゲイ人はどうなった?
811:デフォルトの名無しさん
08/02/23 11:57:27
興奮剤?
ホルモン剤?
812:デフォルトの名無しさん
08/02/23 12:42:02
>>807
何でそんなこと知ってんだよ
813:デフォルトの名無しさん
08/02/23 12:42:55
推奨NGWORD:ゲイ
814:デフォルトの名無しさん
08/02/23 13:35:09
プロはむしろゲイでレス抽出
815:デフォルトの名無しさん
08/02/23 14:58:36
>>797
その方向でいくと本体もobsolete化
816:デフォルトの名無しさん
08/02/23 15:01:30
その方向でおk
817:デフォルトの名無しさん
08/02/23 16:24:38
僕の息子もobsoleteされそうです><
818:デフォルトの名無しさん
08/02/23 16:40:55
>が、最近のruby-coreでの議論の結果、timeoutがネストしている場合で
>もそれぞれを区別するようになり、1.9では同時にTimeout::Errorも
>RuntimeErrorのサブクラスに戻りました。
819:デフォルトの名無しさん
08/02/23 17:11:00
戻ってくんな
820:デフォルトの名無しさん
08/02/23 17:50:35
Matz×Dan×Daiji「エンジニア進化論」
「てくらぼ」オープニングイベント スペシャル対談開催
URLリンク(www.pasonatech.co.jp)
タイトルがMatsになっとる
821:デフォルトの名無しさん
08/02/23 17:56:32
また香ばしい人間ばっかり集めてきたな…
822:デフォルトの名無しさん
08/02/23 20:03:42
ホモはどうすんのよ?
823:デフォルトの名無しさん
08/02/23 20:43:19
>>811
一瞬モルモン剤に見えた。
824:デフォルトの名無しさん
08/02/23 23:10:45
rmagick2使ってるんですけど、モノクロなjpgを探せませんか?
グレイスケールのフォーマットとかではなくて、中身が実質白黒なやつです。
任意の点で彩度が何ぼ以下とかいう処理になると思うんですけど。
825:デフォルトの名無しさん
08/02/23 23:26:11
if,def...~end構文アレルギーを克服したらRubyを使うのが楽しくなってきた(^o^)
826:デフォルトの名無しさん
08/02/23 23:32:08
>>824
そのものはないようなので、
require 'enumeartor' # 1.9.xでは不要
class RMagick::Image
def gray_scale?
enum_for(:each_pixel).all? {|pixel, h, s, l = pixel.to_HTL; s < NAMBO }
# 1.9だと、each_pixel.all? {...}
end
end
でどうだ。
Image#color_histogram とうのも使えるかもしれないけど、
多色画像だと無駄が多いか。
827:デフォルトの名無しさん
08/02/23 23:35:10
× to_HTL
○ to_HSL
まぁ、画像やる人なら分かるだろうけど……
828:デフォルトの名無しさん
08/02/24 03:14:02
>>820
そこの写真、なんか細くなってないか?
829:デフォルトの名無しさん
08/02/24 19:56:56
やべぇ炊飯器でカレー作ったらすげぇ美味いのな
830:デフォルトの名無しさん
08/02/24 19:57:17
誤爆したorz
831:デフォルトの名無しさん
08/02/24 19:57:39
829.__send__(:kwsk)
832:デフォルトの名無しさん
08/02/24 20:41:32
831.kwsk 829
では?
833:デフォルトの名無しさん
08/02/24 20:49:28
"やべぇ炊飯器"が気になる
834:デフォルトの名無しさん
08/02/24 20:54:43
>>832
おまえはOOPLが分かってない
835:デフォルトの名無しさん
08/02/24 21:01:23
炊飯器でカレーって作れるの?
836:デフォルトの名無しさん
08/02/24 21:07:15
カレーにRubyを入れたらうまそう(-_-)
837:デフォルトの名無しさん
08/02/24 21:08:12
炊飯器でカレー作ったらご飯が炊けないじゃないか
致命的なバグだ