1 名前:デフォルトの名無しさん [2008/03/02(日) 23:03:46 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 30 pc11.2ch.net/test/read.cgi/tech/1200106073/ 過去スレ・関連スレは >>2-
369 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:15:36 ] refe2で $ refe aaa はno such class: aaaって返してくれるけど $ refe Object aaa は /home/mona/doc/rubyrefm/bitclust/lib/bitclust/completion.rb:146:in `try': undefined method `empty?' for nil:NilClass (NoMethodError) って例外が上がってくるのは意図したとおりなのかな。 ここはno such method: aaaって返すのが自然な感じがするんだけども。
370 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:15:58 ] ヒルベルトホテル思い出した。
371 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:21:32 ] >>369 多分不具合。 BitClust::Completin#expand_method_name内の return nil を return [] にすれば例外は発生しなくなるけど、 表示メッセージがまだおかしい。ちゃんと修正する必要あり。 no such method in : aaa 本当は no such method in Object: aaa と表示されるはず。
372 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 12:29:50 ] >>366-367 「自分だけわかってる」ログを残したかった人が、他人に「ついて来られちゃった」ときに、 よくこういう「だからそう言ってんじゃん」的な無駄な解説をするんですよ。知性のアピールとして。
373 名前:369 mailto:sage [2008/05/09(金) 18:13:02 ] >>371 ありがとう。 漏れも簡単に修正できるかなとソースちょっと見てたけど、 no such method in : aaa にはなるけど、きちんと表示されないね。
374 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:29:12 ] >>371 に加えて database.rbの394行目 >raise MethodNotFound, "no such method in #{loc}: #{pattern.method}" を raise MethodNotFound, "no such method in #{pattern.klass}: #{pattern.method}" にすれば no such method in Object: aaa にはなるけども、 $ refe hoge fuga no such method in hoge: fuga になって、まだ変だな。多分、no such class: hogeが先に出るのが 正しい気がする。
375 名前:デフォルトの名無しさん [2008/05/11(日) 19:41:00 ] で、'bar'[3, 1] #=> '' はバグなの?仕様なの?
376 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:23:13 ] 仕様。
377 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:04:27 ] >>375 初心者スレで出てた話か。誤爆? 普通に考えればバグだと思うけど 「仕様変更があって、リファレンスの方が更新されてないだけ」というのも Rubyなら普通にありえるから困る
378 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:08:10 ] ChangeLogに無ければバグ なんだが、いつのバージョンならマニュアルのように動作するんだかよーわからんな
379 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 02:18:51 ] MLで聞けばよろし ぶっちゃけ、 Matzが気に入る→仕様 Matzが気に入らない→バグ なんだから。
380 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 07:39:19 ] 見つけた Modified Mon Feb 19 09:15:27 2001 UTC (7 years, 2 months ago) by matz Original Path: branches/ruby_1_6/string.c File length: 58792 byte(s) Diff to previous 1166 * string.c (rb_str_substr): "a"[1,2] should return ""; need rubicon upgrade.
381 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 08:17:01 ] matzというバグを発見しました
382 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 09:30:06 ] >>380 じゃあマニュアルのミスだな
383 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:04:49 ] ぜんぜんうれしくない仕様
384 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:22:00 ] >>380 それは指定した切り出し長(2)が、文字列の長さ(1)を越えているときの動作だろ? 上で言われてるのは、インデックス(3)が文字列の長さ(3)に等しいときの動作だ 参考(ruby1.8.6 mswin32) "a"[1,2] #=> "" "a"[1,3] #=> "" "bar"[2,1] #=> "r" "bar"[3,1] #=> "" "bar"[4,1] #=> nil
385 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:24:48 ] 開始位置が文字列の長さと等しい時じゃないかな?よくしらんけど
386 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:42:45 ] if (beg == RSTRING(str)->len && len > 0) return Qnil; これを削った
387 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:45:35 ] そんで、これで長さ0の文字列にってことか if (beg + len > RSTRING(str)->len) { len = RSTRING(str)->len - beg; }
388 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:25:53 ] >>384 > それは指定した切り出し長(2)が、文字列の長さ(1)を越えているときの動作だろ? 違う。切り出し長は関係ない。 インデックス(1)が文字列の長さ(1)に等しいときの動作。 だからずばり上で言ってること。
389 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 19:13:58 ] YARVで、あるベンチマークが * 「100%速くなった」というのは、時間が半分になったということ? * 「200%速くなった」というのは、時間が1/3になったということ? * 「25%速くなった」というのは、時間が20%減ったということ? ( 1 / (1-0.20) = 1.25 ) 初心者スレでなんの反応も無かったので、教えてえらいひと。
390 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:12:54 ] そーゆーのに興味のある人は実際に使ってる人よりITマスコミだろうしな。
391 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:59:33 ] >>389 そんなの話者やベンチマークの内容によって違うし。 その場その場で自分で解釈しなよ。 まあ、「25%速度うpしますた!」といって速度が1/4になってたりするってことはないと思う。
392 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:58:29 ] >>391 >そんなの話者やベンチマークの内容によって違うし。 冗談でしょ?
393 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:22:19 ] 質問でお茶を濁さず、自分の意見を言おうな。
394 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 08:17:56 ] ベンチマーク内容やベンチマーク結果が話す人によって異なるのは当然だが >* 「100%速くなった」というのは、時間が半分になったということ? >* 「200%速くなった」というのは、時間が1/3になったということ? >* 「25%速くなった」というのは、時間が20%減ったということ? ( 1 / (1-0.20) = 1.25 ) これが話す人によって異なるわけがない。
395 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 09:13:24 ] 気になるならささだに問い合わせて 同じベンチを自分で回してみりゃいいだろ
396 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 13:01:20 ] >>394 「話す人」が全員が正しければね。
397 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 02:22:58 ] 既存のRSSのファイルを開いて新しいアイテムを追加する時に RSSを開く → アイテム部分だけ記述して追加 → RSS保存 で行ってみましたがうまくいきませんでした。 具体的には p rss.items なら要素が追加されているのですが p rss.to_s をすると追加した要素が反映されませんでした アイテムを追加したいだけの場合でも maker で channel 要素を再度指定して作りなおすものなのでしょうか? 環境は RSS1.0、Ruby1.8 です
398 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:22:03 ] >>397 「環境」がイミフw
399 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 09:42:11 ] とりあえず、どのライブラリでRSS1.0をパースしたのか?
400 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 19:45:50 ] >>398 Ruby 1.8 の環境で RSS のバージョン 1.0 でファイルを作りました。 すいません、私何か勘違いしてますか…? >>399 標準添付の RSS::maker を使いました メーリングリストの方が言及されていた validate で確認したところ about 属性が抜けていたのが問題だとわかり解決しました スレ汚し失礼いたしました。
401 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 01:03:06 ] ML見てたけど、Kimさんちょっと笑えるなw
402 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 12:31:15 ] www.atmarkit.co.jp/news/200805/16/ipa.html ささださんオメ しかし、リズム君のほうは14歳なのに老けてるなあ
403 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 13:27:52 ] >「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏 ナ、ナンダッテーΩΩ Ω
404 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 15:15:04 ] りずむ君は純粋な日本人だよね? すごい名前だ・・・
405 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 15:22:18 ] 自称「〜倍速い」は絶対信用しねえ
406 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 20:08:53 ] DQN命名親の被害者世代がIPA絡みの記事に掲載される時代か あと10年もすると命名感覚がらっと入れ替わるのかもな トメとかがばーさんの名前になったようにな 笹田さん痩せた?
407 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 03:48:53 ] >>405 赤い奴は三倍速い も?
408 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 07:56:59 ] ピンクなら許す
409 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:13:48 ] ピンクは淫乱
410 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:20:38 ] 淫乱と聞いて飛んできますた。なんの話?
411 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:49:15 ] 淫乱だからといって黒ずんでいるとは限らないという話。
412 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:44:55 ] 最近日記の更新がなくて寂しい。
413 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:16:41 ] 開発が順調という証だよ 開発が行き詰まってくると「webをなめるな」とかlispユーザに喧嘩を 売ったりするようになる
414 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:22:04 ] >>413 おまえスルドイなw
415 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 04:02:14 ] 今までrubyは他のスクリプト言語より5倍くらい遅かったから 本当にそれくらい早くなっていてもおかしくない
416 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:49:27 ] Matz is nice, so we are nice.
417 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:19:39 ] rubykaigiでグぐると2007と2006年のみで、2008のページが出てこないのは なんとかならんのか。 ruby会議だと一応2008がでるけど、2007の方が最初に出てくるのも。
418 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:41:48 ] >>417 www.google.co.jp/search?hl=ja&q=rubykaigi&as_qdr=m6
419 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:51:44 ] いつになったらruby1.9でrailsが動くの? ずっと待ってるんだけど。
420 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:08:00 ] >>419 1.9.1が出てからです
421 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:13:01 ] オープンソースの世界でも、「ただ待つ」自分に権威を感じ、「待たされる」ことに理不尽を感じる奴は居るんだよな。
422 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:06:48 ] お客さんですから(悪い意味で)
423 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 02:02:52 ] 1.9.1でrailが動いたら開発に参加してやってもいい
424 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 02:07:50 ] >>423 待ってるYO!!
425 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 06:05:15 ] 1.9の側がRailsにあわせることはないから、Railsが1.9に対応しないといけないんじゃないかね
426 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 08:33:21 ] RailsのコミットログをRSSで見てるけど、1.9 compatと冠された エントリーがいっぱいあるお。
427 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 12:03:42 ] >>426 フフフ…奴らはマイナー番号まで表記しなかったことをじきに悔いるようになるのさ
428 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 12:39:37 ] さらっとヒドいこと言ってるな まあ1.8.2と1.8.4でもずいぶん違うし…
429 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:54:52 ] まぁ、1.9.0と1.9.0-1がすでに別物だしなぁ
430 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:25:53 ] そして恐ろしいことに、1.9.0は開発版 1.9.1は安定版なのである 素直に1.9.1ではなく、2.0として出せばいいと思うんだけどなぁ
431 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:53:53 ] >>430 2.0ではもっと変わる予定
432 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:08:42 ] それは分かっているが だからといって、バージョン番号付けの法則を変えていい理由にはならないだろう 混乱の元になるのに
433 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:11:01 ] Linuxだって2.6以降は命名則変えてるやん 2.7枝存在してないし
434 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:32:11 ] 1.A.0にすれば万事解決 まさかZまでは到達しないだろうしw
435 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:36:43 ] NetBSDの轍を踏むつもりか
436 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:03:01 ] >>433 それ悪例
437 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:44:33 ] >>434 なぁに、base64なら1.Z.0の次は1.a.0でいけるw
438 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:58:27 ] >> 437 1.あ.0 まだまだいける
439 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:07:53 ] まだまだいくよー
440 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:34:18 ] >>438 UTF-8なのかUTF-16(BE/LE)なのかUTF-32(BE/LE)なのかShift_JISなのかCP932なのかEUC-JPなのかEUC-JP-MSなのかISO-2022-JPなのかISO-2022-JP-MSなのか、あと何があったっけ(あれ?) # 意表を付いてEUC-KRとかGB2312とか
441 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:33:51 ] require するときって文字コード指定できないの?
442 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:56:01 ] >>441 そういうのは初心者スレでどうぞ ちなみに、requireで直接文字コードを指定するのは不可能 1.8.xではrequireの前に$KCODEを変更しておくと、それに合わせて読んでくれる
443 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 10:25:20 ] requireの第二引数で指定出来るようにしろやボケってrequireなのだろう
444 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 10:29:01 ] 誰がうまい棒
445 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 10:55:00 ] 対処法は tmpfile へ $0 の文字コードに変換して書き出して eval するくらい?
446 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:54:31 ] じゃあライブラリ作るときお勧めの文字コードは何?
447 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:55:12 ] us-ascii
448 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 12:06:52 ] ソースコードにマニュアル埋め込むなんて所詮128バイトのメリケン文化
449 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 12:33:12 ] コンピュータってのはメリケン文化そのものなんだけどな trunk/insns.defとかソースコードに日本語埋め込んでたせいでトラブルが 起きたことあったよね。
450 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 12:55:33 ] なんで「文頭のコメント文字から改行記号までなにがなんても無視」という単純な動作ができないんだろう C とかあのへん全くやってないからわからんのだけど、そんなにも面倒で小難しい処理なん?
451 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:25:30 ] >>450 具体的に。 例えばC++の日本語対応関係で言えば、// コメントはバックスラで継続することに なってるから中身を無視できないわけだが。
452 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:17:56 ] > // コメントはバックスラで継続する 誰だ、そんなめんどくさい仕様作ったの…
453 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:26:08 ] 物理行と論理行うんぬんという話だと思われ 「// は1行コメントだけど、行末にバックスラッシュ使って改行隠してたら論理行としてはまだ1行のままじゃね?」 // 物理1行目 論理1行目 \ 物理2行目 論理1行目 \ 物理3行目 論理1行目 \ 字面の筋は通ってるが…
454 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:36:57 ] // 物理1行目 論理1行目 コメント // 物理2行目 論理2行目 コメント // 物理3行目 論理3行目 コメント 面倒だしこれでいいじゃんね コメントがバックスラッシュを「隠す」かどうかというのはわりと面倒な問題 スクリプト言語では1行コメントがバックスラッシュを隠すということが多いと思う # コメントです \ この行もコメントです \ まだまだコメントです という書き方ができるスクリプト言語って何かあるか?
455 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:41:30 ] Cはマクロ(プリプロセッサ)あるから更に大混乱だな
456 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:04:52 ] >>450 ISO 2022
457 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:42:57 ] 3rdRail日本語版を6月上旬に発売 Ruby普及でNaClなど3社が提携、CodeGearのIDEを推奨 www.atmarkit.co.jp/news/200805/22/3rdrail.html
458 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 09:40:03 ] >>450 UTF-16
459 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:27:15 ] Rubyの仕様を決定する過程ってどんな感じでしょうか。 ワーキンググループがあって最終的に投票とかですか?
460 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:35:38 ] 仕様は特にありません で、まあ、最終的には、まつもとゆきひろ当人とその事項に関係する日本人1人か2人程度で MLの議論を物凄く参考にしつつ実際にコード保守する人の権限でえいやーと決めます
461 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:03:42 ] 一言で言えば「Matzの胸算用」と。
462 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:07:44 ] だからこそ今まではなんとか回ってきたんだけどな ある意味とても日本的だ
463 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:17:20 ] その結果出来たのが糞ライブラリの山
464 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:43:33 ] この流れで思い出したんだが、みんなコマンドライン引数の解析には何使ってる? 俺はいろいろ試してみて、最終的にROptに落ち着いた 他にも何か良さそうなライブラリがあれば教えて欲しい
465 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:54:43 ] > この流れで思い出した なにそれoptparseが糞ライブラリってことなの使いにくいってことなのひどい ちょっとだけインスタンスとメソッドとブロックの使い方が非標準的ってだけじゃない
466 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:01:11 ] >>464 rubyforge.org/projects/trollop まだ使ったことないんだけどさ
467 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:17:35 ] 簡単なやつなら自分で書くな ・・・・・・ライブラリがあるのを知らなかっただけだけど
468 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:56:17 ] この流れで思い出したんだが、みんなcgi引数の解析には何使ってる? 俺はいろいろ試してみて、最終的にrailsに落ち着いた
469 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 23:10:35 ] optparse結構楽だけどな。