5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

rubyを語るスレッド 4

1 :名無しさん@お腹いっぱい。:03/08/11 02:40
UNIX世界にRubyを啓蒙するべく、
オブジェクト指向スクリプト言語Rubyについて語ろう。

= 前スレ
:rubyを語るスレッド 3
http://pc.2ch.net/test/read.cgi/unix/1045705000/l50

= 過去スレ
:rubyを語るスレッド 2
http://pc.2ch.net/test/read.cgi/unix/1040496222/ (dat落ち)
:rubyを語るスレッド
http://pc.2ch.net/unix/kako/1018/10189/1018967064.html

= 関連リンク
:公式サイト
http://www.ruby-lang.org/
:RubyGarden
http://www.rubygarden.com/
:RubyCentral
http://www.rubycentral.com/
:Rubyist!
http://www.rubycolor.org/r/
:RNN
http://rnn.sourceforge.jp/modules/news/


2 :名無しさん@お腹いっぱい。:03/08/11 02:44
2ゲットだーヨ
 ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧   ダーヨ!!
  (´ー` )   ̄∨ ̄ ̄
  \ <    ∧∧     /|      (´´
    \.\_(´ー` )__/|' /    (´⌒(´
     ⊂ _⊂ ___`つつ≡(´⌒;;;≡≡≡≡
              (´⌒(´⌒(´⌒;;
      ズザネ━━━━━━━━━━━━━━━ヨッ

3 :名無しさん@お腹いっぱい。:03/08/11 02:44
どうせ立つと思ってたけどさ。

「啓蒙」とか書き加わってるからカチンとくるわけで。


4 :名無しさん@お腹いっぱい。:03/08/11 02:45
>>3
最近は>>1で煽りを入れるのがunix板の流行らしいからね。
で、ツッコむと荒らし認定される

5 :名無しさん@お腹いっぱい。:03/08/11 02:46
板違い。↓でやれ。

Ruby について Part 4
http://pc2.2ch.net/test/read.cgi/tech/1056944114/

6 :名無しさん@お腹いっぱい。:03/08/11 02:48
そんな流行ネーヨ

7 :名無しさん@お腹いっぱい。:03/08/11 02:50
↓↓↓↓以下、板違いDQNドモの屁理屈大会↓↓↓↓


8 :名無しさん@お腹いっぱい。:03/08/11 02:50
>>4
最近も何も、前スレの1のコピペだろ、これ。

9 :名無しさん@お腹いっぱい。:03/08/11 03:56
>>8
>>4 は「最近は・・・」とほざく新参者だな。許してやれ。

10 :名無しさん@お腹いっぱい。:03/08/11 07:06
C#.NETの次期バージョンに
イテレータが導入され、yieldキーワードが
導入されるようです。

yieldっていうキーワード、rubyとCLU以外で使われているのですか?

MSはこの単語、どこからとったのだろう?
ttp://www.microsoft.com/japan/msdn/vs/vcsharp/vbconCProgrammingLanguageFutureFeatures.asp



11 :名無しさん@お腹いっぱい。:03/08/11 07:19
>>8-9
前スレの>>1-7のコピペだろ、これ。


12 :名無しさん@お腹いっぱい。:03/08/11 07:28
>>10
うるせーよ
どうせRubyは.Net陣営に組み込まれないマイナー言語
(´`c_,'` )プッ F#ですらあるのに

どうせMSはRUDYをぱくった!とかいうんだろ
半島のキチガイみたいに

13 :名無しさん@お腹いっぱい。:03/08/11 10:00
>>10
yield自体の起源はたぶんCLUだと思われ。

C#は知らんけどPythonもyieldが追加されてる。
これはRubyから採り入れたっぽい。
まだ__future__をimportしなきゃいけないようだから予定かも知れないが。


14 :名無しさん@お腹いっぱい。:03/08/11 22:57
変わったテンプレだなぁ

15 :名無しさん@お腹いっぱい。:03/08/11 23:54
そーいや、最初なかなか yield ってのが理解できんかった。
そのうちふと、与えられたlambda式を funcallしてるだけじゃんと
気付いてからよく理解できたけど。

16 :名無しさん@お腹いっぱい。:03/08/12 14:03
>>14
RDだね。

17 :名無しさん@お腹いっぱい。:03/08/12 15:24
正直に告白します。
今までamstdの名前の由来を知りませんでした。
今までずーっと読み方わからないから脳内変換して
「アムステルダム」って読んでいました。
とってもオサレな名前だなーって思っていました。
ごめんなさい。

18 :名無しさん@お腹いっぱい。:03/08/12 22:32
違うよ。冒頭のデジャブめいたテンプレwのこと >>16

19 :名無しさん@お腹いっぱい。:03/08/13 11:11
>>17
同じく。


20 :名無しさん@お腹いっぱい。:03/08/13 11:35
>>17,19
「スタジオ エッチ」という言葉に聞き覚えは?

21 :名無しさん@お腹いっぱい。:03/08/13 15:22
スタジオ・エッジならなんとなく。

22 :名無しさん@お腹いっぱい。:03/08/13 16:02
stdio.hか・・・

23 :名無しさん@お腹いっぱい。:03/08/13 16:17
stdioはステという方針で。

24 :名無しさん@お腹いっぱい。:03/08/13 17:52
>>23
djb 厨か・・・

25 :名無しさん@お腹いっぱい。:03/08/13 18:30
>>24
[ruby-talk:36757]

26 :名無しさん@お腹いっぱい。:03/08/14 00:23
>>25
その話自体は昔からよく聞くのだけど、要するに
「従来と比べてより下位のレベルで出入力を叩く」
ということ?
すなわち「ポータブル」なコードではなくなり、
コード量が増えメンテの手間も増えても、
もたらされる利益の方が大きいという事なのか。

いわばANSIを捨てるという行為は、時代に逆行する
気もするが…「使う側」の消費脳力最小化を目標とする
Rubyは、「作る側」の消費脳力増大などもろともしないと
いう事か。

27 :名無しさん@お腹いっぱい。:03/08/14 00:34
>>26
話をI/Oのコードに限れば、そもそもとっくに「ポータブル」ではない。
stdioレベルでは互換性があってもPOSIXレベルでは互換性のない
プラットフォームの場合、ランタイムのコードとRuby側の非stdio部の
コード辻褄を合わせるのは難しい。
それなら最初からstdioを捨てた方が環境依存部分が減ることになる。

脳力の話は……あなたはRubyを作る側? 使う側?

28 :26:03/08/14 22:17
>>27
いまいち判然としないけど、要するにPOSIX依存なコードが
既にある程度入っている、という事でいいのでしょうか。
この板で言うのもなんだが、RubyにおけるUNIX中心主義を
加速させる変更になるのなら、あまり好かないかも。

もちろんこういう基礎的な話を知らないくらいだから、(ほぼ)使う側ですが。
個人的に、少し作る側が気になり出したので。

29 :名無しさん@お腹いっぱい。:03/08/15 00:30
>>28
作る側が気になるならruby-dev検索すればすぐわかる。
わかったら問題点箇条書にしてここに書け!オネガイシマス


30 :名無しさん@お腹いっぱい。:03/08/15 00:58
なぜstdioを使うことが問題になるかというと、rubyのthread&IO管理から見え
ないところでバッファリングされてしまうから。

>>26のいうようにデメリットもたしかに大きいのだけれど、stdioがそもそも
threadを考慮していない(環境もある)以上、あまり選択の余地がない。

「Ruby*を*作る側」の消費脳力増大はもともと気にしていない。全然。


31 :名無しさん@お腹いっぱい。:03/08/15 09:49
作る側は好きでやってるんだから好きなだけ苦労させてやればいいのだ。
どうしても気になるなら手伝ってやれ。

32 :名無しさん@お腹いっぱい。:03/08/15 10:33
入出力の抽象化レイヤを間に入れて差し替え可能にして入出力には
抽象化レイヤーを使え、ということにしないのかな。

スレッドはまともに使えないけれどもポータビリティの高い
stdio.h による実装と、今度採用するという方式による実装の、ど
ちらを使うか実行時に簡単に変えられるような。

それから、たまにParmみたいなUNIXからほど遠いシステムでRubyイ
ンターブリタを使いたい、ということがないですか。そんなときに
インタープリタ部分がANSI Cだけでも簡単にコンパイルして使える
といいな、と思うことがある。

ANSI Cだけの部分・システムに依存する部分・両者をつなぐ抽象化
レイヤ、こういったことが、rubyのソースレベルで明確に分離して
ればいいな、なんてね。ソース見てもよくわからんけど、すでにそ
うなってる?


33 :名無しさん@お腹いっぱい。:03/08/15 14:06
>>32
今はなってないけど、その意見は参考にさせてもらおう。

> それから、たまにParmみたいな
Palm?


34 :名無しさん@お腹いっぱい。:03/08/15 19:31
>>33
matz?おながいしまつ。
palmでした。間違ってた。


35 :名無しさん@お腹いっぱい。:03/08/15 19:38
Ruby 自体がスレッドセーフになるのまだぁ?

36 :名無しさん@お腹いっぱい。:03/08/15 20:24
>>34
ちゃう。

>>35
Rite以降。

37 :あぼーん:あぼーん
あぼーん

38 :あぼーん:あぼーん
あぼーん

39 :名無しさん@お腹いっぱい。:03/08/15 23:48
>>32
えー、実行時は嫌だなあ。せめてコンパイル時にしようよ。
実行時にそういう基本的なところが切り替わったりすると
無駄にバグが増えるだけだ。


40 :名無しさん@お腹いっぱい。:03/08/15 23:53
コンパイル時なんてカコワルイ。rubyなのに。
そのために抽象化レイヤ入れるんだしね。


41 :名無しさん@お腹いっぱい。:03/08/16 00:14
>>40
大域的に影響を与える変更が実行時に起こるなんて考えられない。

42 :名無しさん@お腹いっぱい。:03/08/16 00:28
一番現実味があるのは、configure時のオプションだろうな。

43 :名無しさん@お腹いっぱい。:03/08/16 00:42
実行時に*勝手に*切り替わるのはもちろんいや。そりゃそうでしょう。
require 'stdio_io' とすると IO.gets の実装が切り替わる
というのでもいやですか。


44 :名無しさん@お腹いっぱい。:03/08/16 00:47
どうせstdio自作せずに今のままいくともれは思う
自作だとstdio使う拡張ライブラリと相性悪そう


45 :名無しさん@お腹いっぱい。:03/08/16 00:52
>>32のいう「ポータビリティの高い」「今度採用するという方式」というのは
あくまでもrubyの内部的な実装の話だから、Rubyレベルでのインターフェース
が変わってしまっては意味がない。

>>44
もしstdioを独自に使ってるのがあるとしたら、それは現時点でもスレッドと
非常に相性が悪い。


46 :名無しさん@お腹いっぱい。:03/08/16 04:04
>>43
require では解決になってない。
まず require 'stdio' するライブラリとしないライブラリが混ぜて使えなくなる。
次に、stdio をつかってて、バッファに読んで、新しい io に切り替えると
バッファの中身が黙って捨てられることになる。逆も同じ。

デメリットに比べてメリットがなさすぎるな。

47 :名無しさん@お腹いっぱい。:03/08/16 09:20
PerlIOを実装すれば解決

48 :32=43:03/08/16 09:51
>>46
> まず require 'stdio' するライブラリとしないライブラリが混ぜて使えなくなる。
例えばこういうのは? 簡略化して書いたつもり...

# io.rb or io.c or その他どこか
class IO # IO抽象化レイヤ
@__default_impl_class__ = NewIO::Implementation # default,過去と互換性の高い実装がよい
def self.set_default_implementation(new_impl_class)
@__default_impl_class__ = new_impl_class
end
def initialize(...)
@__impl__ = self.class.class_eval{ @__default_impl_class__ }.new(...)
...
end
def gets(rs) @__impl__.gets(rs); end
... is_a? などを小細工
end

# stdio_io.rb or stdio_io.c or その他どこか
module StdIO
class Implementation
def gets(rs) stdioによる実装; end
end
end
# new_io.rb or new_io.c or その他どこか
moudle NewIO
class Implementation
def gets(rs) newioによる実装; end
end
end


49 :32=43:03/08/16 09:53
(続き)
# 使い方
IO.new.gets => デフォルト実装のgetsの結果
IO.set_default_implementation StdIO::Implementation
IO.new.gets => stdio_ioの...
NewIO::IOImpl.new.gets => new_ioの...
# くどいのでこのくらいにしとく

>>46
> 次に、stdio をつかってて、バッファに読んで、新しい io に切り替えると
> バッファの中身が黙って捨てられることになる。逆も同じ。

IOのインスタンス生成時に実装が決定して、そのIOオブジェクトの実装を途中
で変えられなくすれば、いままでどおり普通に使う分にはそんなに問題ないで
しょ。それ以上のことは使う側の責任。IOの実装を明示して使うやつは意味や
副作用をわかって使えってことで。

ここまでは本質的な話じゃないので、あまりつっこまないでよ。
グタグタとマジレスしちゃったじゃん。
できる・できないの話ならできるでしょ。まちがってますかね。

> デメリットに比べてメリットがなさすぎるな。

メリットがあるかと問われると...そうなのかもしれない。ま、コンパイル時
レベルのことでもいいんです。実のところ現状のrubyでもじゅうぶん気に入っ
てるので。どうせならこういうのがいいなという私のあまり強くはない希望を
書いてみたまでです。


50 :名無しさん@お腹いっぱい。:03/08/16 15:57
matzさんって言語オタクなのに、なんで結婚できたのか
というよりも、むしろなんで結婚したんだろうか。
奥さんは影の言語オタクなの?
そうであれば納得がいくけれども、そうでなければ、
言語の話が家庭でできずに可哀想だ。

51 :名無しさん@お腹いっぱい。:03/08/16 16:24
気球つながり?

52 :名無しさん@お腹いっぱい。:03/08/16 17:04
>>50
なんで言語オタクが言語の話しかできないとか思い込んでるの?
でも、結婚は宗教と関係あるかもね。

>>51
何と何が気球つながり?

53 :名無しさん@お腹いっぱい。:03/08/16 19:30
>>51
禿しく人違いの伊予柑。

54 :名無しさん@お腹いっぱい。:03/08/16 23:11
>>52
宗教と言っても、モルモン教だからなあ。
モルモン教徒は、モルモン教徒同士じゃないと結婚できない。


55 :名無しさん@お腹いっぱい。:03/08/17 01:11
真面目に神殿に通っていると結婚相手を紹介してもらえるのです。
実際にその人と結婚するかどうかはともかく。

56 :名無しさん@お腹いっぱい。:03/08/17 03:03
っつーか、松本さんは外見こそオタク然だが、さわやかな並以上のナイスガイで知識人ですよ。
惚れる女もいるさ。

おれも入信しようかな。。。と思ってる奴は挙手。


57 :名無しさん@お腹いっぱい。:03/08/17 03:39
>>56
多妻婚を、今でも認めているグループなら入信してもいいかな(笑)
http://www.gospeljapan.com/csd/980906.htm


58 :名無しさん@お腹いっぱい。:03/08/17 04:56
>>57
もまえにそんな甲斐性あんのかYO!

59 :名無しさん@お腹いっぱい。:03/08/17 05:04
50のオタク像が古いのだ
とはいうもののそういう人も多いけど実際は

60 :@@:03/08/17 05:42
あなたはアニメ?それともセーラー服?
両方とも無料ムービーあるよ。
しかも無修正、完全モロ見え
http://www.pinkfriend.com/


61 :名無しさん@お腹いっぱい。:03/08/17 15:02
今思いついたが、Pairクラスってどうよ。

そうすればCレベルrb_assoc_new(first, second)が必要なくなり、
余計無なmallocを減らすことができるし、
Rubyレベルでも何かと使い道はあるかと思う。
構造体はこんな感じで。
struct RPair {
struct RBasic basic;
VALUE first;
VALUE second;
};


62 :名無しさん@お腹いっぱい。:03/08/17 15:30
何に使うのよ。

63 :名無しさん@お腹いっぱい。:03/08/17 15:53
>>62
現状では「値を二つ持つオブジェックト」を要素が二つある配列として表現しているが、
それをPairと置き換えることでよりプログラムの意味が明確になる。



64 :名無しさん@お腹いっぱい。:03/08/17 15:55
>>63
3つの場合はどうするのさ。

65 :名無しさん@お腹いっぱい。:03/08/17 19:13
>>63
「意味が明確になる」っていうのが良く分からん。
>>64の言うように、配列を用いる事で
より少ないルールでかつ汎用的に扱えるのだから、
現状の方がベターじゃない?

66 :名無しさん@お腹いっぱい。:03/08/17 19:32
>>63
言いたい事はわかるがRubyの方針と合わんと思う。
コレクションクラスを細分化する代わりにArrayをオールマイティ化している言語ですよ?

67 :名無しさん@お腹いっぱい。:03/08/17 23:02
>>65
Cレベルで定義されている配列生成APIは「空配列」と「二つの値を持つ配列」
それと「任意の数の値を持つ配列」 で、「二つの値を持つ配列」のAPI(rb_assoc_new)
は殆ど要素を追加したり削除したりはしない。つまり、配列をPairとして使ってるわけだ。
この時、「この配列はPairとして使っている」ってことはプログラマが覚えておかなきゃいけないが、
Pairを使うことでコードにその意味を記すことができる、と。

>>66
そうかな。
Pairくらいあったほうがいいと思うんだが。


68 :名無しさん@お腹いっぱい。:03/08/18 01:24
>>67
ほほぅ。

69 :名無しさん@お腹いっぱい。:03/08/18 01:26
>>67
Pairってものがいまいちわからん

70 :名無しさん@お腹いっぱい。:03/08/18 02:06
>>67
それが実現されるとスクリプトのレベルでユーザーが
どんな恩恵を受けるのか具体例があれば書いて欲しい。

71 :名無しさん@お腹いっぱい。:03/08/18 03:30
配列で書いた場合とPairで書いた場合ってのがあればイイネ

72 :名無しさん@お腹いっぱい。:03/08/18 03:45
行番号が扱えるtlexホスィ


・・・とここで言ってみるテスト。


73 :名無しさん@お腹いっぱい。:03/08/18 03:56
「pair があったほうが良い」と言うのは、「型があったほうが良い」と言うのと
同じようなもの。



74 :名無しさん@お腹いっぱい。:03/08/18 11:18
>>61

ふつー
struct RPair {
struct RBasic basic;
VALUE car;
VALUE cdr;
};


75 :名無しさん@お腹いっぱい。:03/08/18 11:56
Pairは大クラス主義と真っ向勝負だから無理として、
言語機能として意味があるのはTapleだろう。
引数や多重代入の意味論は整理されるかも知れない。
けどapplyがないとね。

76 :名無しさん@お腹いっぱい。:03/08/18 12:26
Tapleってなに?

77 :名無しさん@お腹いっぱい。:03/08/18 12:28
[ruby-talk:79280] はどうよ?

78 :名無しさん@お腹いっぱい。:03/08/18 13:48
>>76
表のこと


79 :名無しさん@お腹いっぱい。:03/08/18 14:08
Tuple?
Table?


80 :名無しさん@お腹いっぱい。:03/08/18 14:23
Tuple は Struct とは違うの?

81 :名無しさん@お腹いっぱい。:03/08/18 16:24
Tupleってなんなのか(どんなものを想定しているのか)定義を述べてくれ。

82 :名無しさん@お腹いっぱい。:03/08/18 17:07
二の腕の感触

83 :名無しさん@お腹いっぱい。:03/08/18 19:08
みんなプログラマなんすか?

84 :名無しさん@お腹いっぱい。:03/08/18 19:21
で、Taple か Tuple かどっちだ?

85 :名無しさん@お腹いっぱい。:03/08/18 20:49
>>81
それは「たぷたぷ」

86 :名無しさん@お腹いっぱい。:03/08/18 20:59
タプルタプルした二の腕


87 :名無しさん@お腹いっぱい。:03/08/18 21:03
tuple はいくつかのものの組。
プログラミング言語では引数のリストを表すのに使うのが典型的。

88 :名無しさん@お腹いっぱい。:03/08/19 09:22
>>87
その典型的な例をいくつかキボン。

89 :名無しさん@お腹いっぱい。:03/08/19 10:35
f(x, y, z)

90 :名無しさん@お腹いっぱい。:03/08/19 11:26
↑これが tuple の例?

じゃぁ tuple を用いない例は?

91 :名無しさん@お腹いっぱい。:03/08/19 11:59
リストでも使えよ。

92 :名無しさん@お腹いっぱい。:03/08/19 12:41
pythonにはtupleとlistがあるね。俺はtuple要らんとおもうけど。

93 :名無しさん@お腹いっぱい。:03/08/19 14:31
MLにもtupleとlistがあるYO!
MLではlistの要素は全部同じ型じゃないといけない。
関数の引数は必ず一個。
なのでtupleを使うこともあるかも。
でもカリー化しちゃってもイイ!
tupleは要するに直積のようなもんでござる。

94 :名無しさん@お腹いっぱい。:03/08/19 18:48
C++ではTupleを用いて多重代入を実現している(言語仕様/標準ライブラリには無いが)

http://boost.cppll.jp/HEAD/libs/tuple/doc/tuple_users_guide.html から引用

int i; char c; double d;
tie(i, c, d) = make_tuple(1,'a', 5.5);
std::cout << i << " " << c << " " << d;


>>80
Structとの違い:
・定義すること無しに作成できる
・フィールドの順番に意味がある
・名前(タグ)を持たない

ってことくらいかな?

95 :名無しさん@お腹いっぱい。:03/08/19 19:03
で、RubyでTupleがあれば何が便利になる?

96 :名無しさん@お腹いっぱい。:03/08/19 20:56
ファンクショナルになるというオチか?

97 :名無しさん@お腹いっぱい。:03/08/20 05:54
例えば、Python の tuple は immutable list のようなものだけど、
それだけだと取り込む魅力はなさげ。

tuple が直積の抽象化だとすると、任意の x について
Tuple.new(x) == x && x == Tuple.new(x) && not Tuple.new(x).equal?(x)
になるのかな。

98 :名無しさん@お腹いっぱい。:03/08/20 23:02
>>95
別に何も

複雑怪奇な多重代入の仕様を、少し整理してくれないかなぁ、というだけだろ

99 :名無しさん@お腹いっぱい。:03/08/21 01:28
意味がよくわからない。

100 :名無しさん@お腹いっぱい。:03/08/21 12:18
>>98
今のArray絡みの問題がそっくりTupleに移動するだけと思われ。

101 :名無しさん@お腹いっぱい。:03/08/21 12:35
Array絡みの問題?


102 :名無しさん@お腹いっぱい。:03/08/22 20:34
前スレで、Solaris 8 で 1.8 が落ちるって人がいたと思うけど、
[ruby-talk:79923] にパッチが出たでよ


103 :名無しさん@お腹いっぱい。:03/08/22 23:26
[ruby-dev:21225]でも、まったく同じパッチが…
こういう事もあるのね。
# でも二時間差で、やっぱりNobu氏の勝利。

104 :名無しさん@お腹いっぱい。:03/08/22 23:45
でもmake testが通らない罠。

105 :名無しさん@お腹いっぱい。:03/08/23 00:30
どうやったらnobuさんのようにパッチを
ガンガン書けるようになるんですか?

106 :名無しさん@お腹いっぱい。:03/08/23 00:38
書いたもの勝ち。バグっていても。

107 :名無しさん@お腹いっぱい。:03/08/23 02:10
なんか変更してcvs diffすればパッチはできるぞ。

108 :名無しさん@お腹いっぱい。:03/08/23 08:29
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。

BugのないrubyにnobuさんのパッチがあたってBugが増加?


109 :名無しさん@お腹いっぱい。:03/08/23 08:32
「私とrubyのパッチ書くのとどっちが大切なのよ!」とか言われて
ないだろうか。nobuさん。


110 :名無しさん@お腹いっぱい。:03/08/23 09:23
「rubyのパッチ」で話が通じる女なんていないと思われ。

111 :名無しさん@お腹いっぱい。:03/08/23 11:23
[ruby-talk:80000]キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

…おもしろくない話だな。


112 :名無しさん@お腹いっぱい。:03/08/23 21:46
>>110
そうでもないだろう。少なくとも俺が前付き合ってたのにはたぶん
通じる(ように教育してしまった)。
Windowsのペイントでてきとーなお絵描きして遊んでた人間が、最後には
「ばしばしUNIXのコマンド叩けるようになりたい」となってしまい。(イタィ

んで>>109のような状況にもなったりして、結局は別れたという落ちで…(イタタタ

113 :名無しさん@お腹いっぱい。:03/08/23 23:11
ペアプログラミングとかペアデバッグとかすればよかったのに。

114 :名無しさん@お腹いっぱい。:03/08/23 23:17
だよな。なんでバシバシUNIXコマンド叩けるところまで
調教しなかったんだ?もったいない。

115 :名無しさん@お腹いっぱい。:03/08/23 23:38
「変数が容器だなんておかしいわプンプン。変数てのは名札なの!」
と言える程度には調教しとけ


116 :名無しさん@お腹いっぱい。:03/08/23 23:49
バラストのメタファがわからん

117 :名無しさん@お腹いっぱい。:03/08/24 00:33
気球

118 :名無しさん@お腹いっぱい。:03/08/24 04:57
>>117
風船おじさんってこと?

119 :名無しさん@お腹いっぱい。:03/08/24 14:26
バラストってのはこのへんからだろう。
http://nokada.jin.gr.jp/t/20030803.html#p01

120 :名無しさん@お腹いっぱい。:03/08/24 18:23
しかし、質問自体がものすごい勢いで流されたな。


121 :名無しさん@お腹いっぱい。:03/08/25 08:24
TMailの質問はあおきさんじゃなきゃ分からんってば。

122 :名無しさん@お腹いっぱい。:03/08/25 20:59
>>121
そういえば、最近 install.rb を読んだんだが、動的杉。



123 :名無しさん@お腹いっぱい。:03/08/26 12:08
そうか? net/http.rbとかのがすごいと思うぞ。

124 :名無しさん@お腹いっぱい。:03/08/26 12:19
どっちがすごい、という話じゃないだろ。

125 :名無しさん@お腹いっぱい。:03/08/26 13:13
俺定義キター!

126 :名無しさん@お腹いっぱい。:03/08/26 13:56
>>124
動的さが。

127 :名無しさん@お腹いっぱい。:03/08/26 14:12
Net::HTTP.version_1_1
Net::HTTP.version_1_2
でバージョンごとの挙動をスイッチングて…

焼肉で読んだ、ucb て打つと /usr/ucb の下にコマンドが現れる UNIX のはな
しを思い出した。

128 :名無しさん@お腹いっぱい。:03/08/26 14:13
現れるんじゃなくて、PATHに/usr/ucbが追加されんじゃないのか?

129 :名無しさん@お腹いっぱい。:03/08/26 14:56
どっちの動的さがすごい、という話じゃないだろ。

130 :名無しさん@お腹いっぱい。:03/08/26 15:34
違うのか?

131 :名無しさん@お腹いっぱい。:03/08/26 15:41
あってると思うYO

132 :名無しさん@お腹いっぱい。:03/08/26 15:44
違うと思うYO

133 :名無しさん@お腹いっぱい。:03/08/28 18:07
で、1.8.1はまだですか、と

134 :名無しさん@お腹いっぱい。:03/08/28 18:18
クリスマスくらいまで待て。

135 :名無しさん@お腹いっぱい。:03/08/28 19:00
(しつこいけど) shim まだぁ?

136 :名無しさん@お腹いっぱい。:03/08/28 19:12
shim使わないで1.8使え。

137 :名無しさん@お腹いっぱい。:03/08/28 20:00
>>136
unstable なバージョンは使えません。

138 :名無しさん@お腹いっぱい。:03/08/28 22:55
stableなバージョンなどない!

139 :名無しさん@お腹いっぱい。:03/08/28 23:19
>>137
1.8.0は stable version じゃなかったっけ?。
(安定してるかどうかはともかく。)

140 :名無しさん@お腹いっぱい。:03/08/28 23:24
>>139
ちなみに、そうです。

141 :名無しさん@お腹いっぱい。:03/08/29 01:04
どこがどう stable なのか説明したまえ

142 :名無しさん@お腹いっぱい。:03/08/29 01:31
仕様がstable?

143 :名無しさん@お腹いっぱい。:03/08/29 01:32
>>139
stable version と銘打った unstable なバージョンは使えません。

144 :名無しさん@お腹いっぱい。:03/08/29 01:34
shimはその1.8の仕様に則ってるんだから、どっちにしてもだめだろ。

145 :名無しさん@お腹いっぱい。:03/08/31 03:28
Matz にっきが死んでいるみたいです。

146 :名無しさん@お腹いっぱい。:03/08/31 13:30
Matz さん死んじゃった?
プログラマはコードで語るって言ってたし。

147 :名無しさん@お腹いっぱい。:03/08/31 16:01
もしMatzさんがいなくなったと仮定して、その後、Rubyはどうなるんだろう?


148 :名無しさん@お腹いっぱい。:03/08/31 16:23
そんなことより/stand/sysinstallからパッケージ見てたら
「ja-gorua0.6」というのがあったんですけど何なんですか?
説明には「gtk+ on ruby user agent for 2ch BBS」とか書いてたように
記憶しているのですが…(うろ覚え)

149 :名無しさん@お腹いっぱい。:03/08/31 17:24
goRua(Ruby/Gtkによる2chブラウザ)ってどうよ。
http://pc.2ch.net/test/read.cgi/unix/1008120213/

これのこつ?

150 :名無しさん@お腹いっぱい。:03/08/31 20:51
Matzさん故障?

151 :名無しさん@お腹いっぱい。:03/08/31 21:23
matz壊れた

152 :名無しさん@お腹いっぱい。:03/08/31 22:59
>>147
LarryがParrotの開発を放り出して開発を継続します(嘘。

153 :Larry:03/08/31 23:03
いやー、これでやっと真珠を捨てられるよ。

154 :名無しさん@お腹いっぱい。:03/08/31 23:53
(゚Д゚)ゴルァ!!

155 :名無しさん@お腹いっぱい。:03/09/01 02:47
Matzさん生きてたー

156 :名無しさん@お腹いっぱい。:03/09/01 10:05
箱厨うざい。

157 :名無しさん@お腹いっぱい。:03/09/01 10:21
Rubyのメソッドテーブルって、スーパークラスのメソッドも全て含めた仮想テーブルには出来ないのかな


158 :名無しさん@お腹いっぱい。:03/09/01 10:27
後からメソッドを追加することもできるからかえってめんどくさい。


159 :名無しさん@お腹いっぱい。:03/09/01 12:43
メソッドの定義は既にフックできるようになってるじゃん。
それにちょいと更新ルーチンを引っ掛ければいい。

160 :名無しさん@お腹いっぱい。:03/09/01 13:31
>>159
スーパークラスはサブクラスを知らないから、サブクラスのリストを管理する手間が増える。


161 :名無しさん@お腹いっぱい。:03/09/01 14:47
>>149
どうも有り難うございます。
でもFreeBSD4.8RELEASEではWLI-PCM-S11Gが
使えないです。どうしましょ?

162 :名無しさん@お腹いっぱい。:03/09/01 15:30
RSS には、
- RSS parser
- Ruby/RSS
- RERSS
とあるみたいですが、どれがオススメですか?
# まだ、具体的に RSS でこれがやりたい、ってのがないので漠然とした質問でスマソ。

163 :名無しさん@お腹いっぱい。:03/09/01 19:43
漏れ、前スレで YAML をリテラルとして書きたい云々っていう話をしてたんだけど、
案の定、そんなのが・・・

ttp://whytheluckystiff.net/

164 :名無しさん@お腹いっぱい。:03/09/01 20:56
[ruby-core:01465]か。
正直いって、あまり魅力は感じないんだよなぁ。
理由は前スレ788が述べていることに加えて、
インデントが意味を持つYAMLはソース埋め込みには向かないんじゃないかと思えること。

それに、前者に比べて後者の可読性が極端に劣るとも思えないってのもある。

data = %Y[
--- %YAML:1.0
hoge: fuga
foo:
  - bar
  -
    baz: qux
]

data = {
  "hoge"=>"fuga",
  "foo"=>[
    "bar",
    {"baz"=>"qux"}
  ],
}

165 :163:03/09/01 21:04
>>164
可読性云々よりも、漏れ的には、OrderedMapping のリテラル表記 (ry (←まだ言うか)

166 :名無しさん@お腹いっぱい。:03/09/01 21:52
誰かYAMLのメリットを説明してくれ。


167 :名無しさん@お腹いっぱい。:03/09/01 22:06
>>165
PseudoHashじゃダメだったわけ?
もしキーが固定なら、Struct使うってのはどうよ。

168 :163:03/09/01 22:25
>>166
Matz にっきか Linux Magazine のまつもとさんの連載記事がおすすめ。

>>167
実装はなんとかすればどうにかなるとして、
それよりとにかくリテラル表記してえんだよ!
っていう、気分の問題かな。

つか、あれから OrderedMapping を使う機会がなかったり。
やっぱ需要があまり無いのかしら・・・

まぁ、あんまりここまでして引っ張るネタじゃないか・・・

169 :名無しさん@お腹いっぱい。:03/09/01 22:43
もうひとつ、_whyの実装が気に入らないってのがある。
あのパッチじゃ#{}を含んでるリテラルはまともに扱えない。

parse.yのyamlはこれで充分、他のファイルはいじる必要ない。

yaml  : tYAML_BEG xstring_contents tSTRING_END
      {
        static ID yaml, load;
        if (!yaml) {
          yaml = rb_intern("YAML");
          load = rb_intern("load");
          rb_autoload(rb_cObject, yaml, "yaml");
        }
        $$ = NEW_CALL(NEW_COLON3(yaml), load, NEW_LIST($2));
      }
    ;



170 :名無しさん@お腹いっぱい。:03/09/02 01:59
             ∩
        ∧_∧   | |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (  ´Д`)//  < 先生!うちのお父さんはRubyで作りました。
      /       /      \_____________
     / /|    /       
  __| | .|    |
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||

171 :162:03/09/02 15:24
レス無いんで自分で見てみています。
まず RERSS を見てみたが、なんと *.rb 全てがライセンス表示のみでコードが無い。
パッケージングのミスか何かだとは思うが、
作者にやる気無しと看做して、却下することにきめました。

172 :名無しさん@お腹いっぱい。:03/09/02 17:39
>>171
藁。
プロジェクトはじまったばっかりなんじゃ?
ともあれガンガレ。

173 :名無しさん@お腹いっぱい。:03/09/02 20:16
>>171
そのライセンスには自由に修正してよいと書いてあるだろ。
おまいが中身を書いてやれ。


174 :名無しさん@お腹いっぱい。:03/09/02 22:01
>>171
漏れは Ruby/RSS 使ってるよ。
API が一部少し変なのが気になってて、
進言しようかどうか迷ってたりするが。

175 :名無しさん@お腹いっぱい。:03/09/02 23:17
おいらのサイトはblogに毛が三本なのでRSSもerubyでべた書き。

176 :名無しさん@お腹いっぱい。:03/09/03 15:22
変化があったかどうか知りたいケースってそんなにあるかね?

それに、破壊的か非破壊的かにかかわらず、変化があったかどうかは、
知りたいときは知りたいし、知らなくていいときは知らなくていいので、
破壊的メソッドと非破壊的メソッドとで返りが変わるのは変な気がする。

177 :名無しさん@お腹いっぱい。:03/09/03 19:38
bang method(って言うのね、初めて知った)をチェーンさせちゃいけないって初めて知った。
nil が返ってきて不便だなぁと思ったことは何度かあったけど、そういうものなのね。

178 :名無しさん@お腹いっぱい。:03/09/03 20:14
この件に関して言えば、まつもとさんが一番混乱してるように思えてならない。

179 :名無しさん@お腹いっぱい。:03/09/04 00:20
bang method の返り値、一度も使ったことないです・・・


180 :名無しさん@お腹いっぱい。:03/09/04 02:51
同じく。
気が付いていないだけで有用な使い方があるのかな。

181 :名無しさん@お腹いっぱい。:03/09/04 13:50
回文ワロタ

182 :名無しさん@お腹いっぱい。:03/09/04 15:15
るびいをいびる

183 :名無しさん@お腹いっぱい。:03/09/04 16:57
むしろ、変化したかの結果が欲しい場合は sub!? (と昔あったような話を蒸し返す)

184 :名無しさん@お腹いっぱい。:03/09/04 22:26
ruby1.8+ia64-hpuxな環境でmake test がSEGVするのですけど、
CVS HEADだといけますかねぇ?


185 :名無しさん@お腹いっぱい。:03/09/04 22:38
hpuxはメジャーバージョン上がるたびにひかかってないか?

186 :名無しさん@お腹いっぱい。:03/09/04 23:04
やっぱりユーザが少ないとね…

187 :名無しさん@お腹いっぱい。:03/09/05 18:58
>>184
make testまでいった?
hpuxのバージョンは?

参考: ttp://nokada.jin.gr.jp/t/20030817.html#p01

188 :名無しさん@お腹いっぱい。:03/09/05 22:19
>>187
> make testまでいった?
はい。
CFLAGS="-O0 -D_XOPEN_SOURCE=500" でconfigure して。
前スレ 975 でアドバイスもらったとおり:
>curses_resizeterm(VALUE obj, VALUE lines, VALUE columns)
>window_resize(VALUE obj, VALUE lines, VALUE columns)
ここの引数がterm.hで#defineされていたので引数名を変えました。
#CVS HEADは直ってるみたいっすね。
で、これで make して一発でした。

> hpuxのバージョンは?
11.23でつ。

> 参考: ttp://nokada.jin.gr.jp/t/20030817.html#p01
で、今朝のCVS HEAD+このパッチで試してみても同じく
gcの2番目のテストでSegmentation faltしました。


189 :名無しさん@お腹いっぱい。:03/09/08 14:21
A.中村さん、ああいう話題になるといつも喰いつきいいなぁ。

ところで、今までの RHG 読書会の log ってどっかに公開されてますか?

190 :名無しさん@お腹いっぱい。:03/09/08 19:19
>>189
ttp://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=RHG%C6%C9%BD%F1%B2%F1%3A%3A%C5%EC%B5%FE2003%A1%C1


191 :名無しさん@お腹いっぱい。:03/09/09 00:30
>>190
thx!

192 :名無しさん@お腹いっぱい。:03/09/09 01:00
A.中村さん少し黙っててほしいんですが

193 :名無しさん@お腹いっぱい。:03/09/09 07:18
ML で直接言え。

194 :名無しさん@お腹いっぱい。:03/09/09 12:45
お世話になっております。
MLではだめ。言いたきゃ直接言えよ。


195 :名無しさん@お腹いっぱい。:03/09/11 14:14
Date - Date が Rational になるのが少し驚いた。どうしてだろうか。

196 :名無しさん@お腹いっぱい。:03/09/11 14:41
内部で Rational を使っているから。

197 :名無しさん@お腹いっぱい。:03/09/11 19:25
分母が1でない Rational が返ってくることがあるの?

198 :名無しさん@お腹いっぱい。:03/09/11 23:37
>>195

それ、マニュアルに注記してあったけれど、消されている。
何でじゃ?


199 :名無しさん@お腹いっぱい。:03/09/11 23:39
スタジオでレッスンつうことは、音楽関係でつか?
Rubyで奏でる〜、ってか?

200 :名無しさん@お腹いっぱい。:03/09/12 00:42
ギターかな

201 :名無しさん@お腹いっぱい。:03/09/12 01:19
やっぱりでもあれだね、俺は携帯でも短いアドレスだけど、
今日日の携帯ユーザーはやけに長いアドレスなのね、
というのがこのメールで分かったよ。

202 :名無しさん@お腹いっぱい。:03/09/12 04:35
Ruby Hacking Lesson です。スタジオにこもって青木さんにビッシビシしごかれます。

203 :名無しさん@お腹いっぱい。:03/09/12 05:14
るびきちの誤爆を思い出した

204 :名無しさん@お腹いっぱい。:03/09/17 14:12
Rubyist お気に入りの Sather って、もう開発してないの?
ttp://www.gnu.org/directory/sather.html

どんなんか見てみようと思っただけだけど。
GNU 入り前と仕様はそんなに変わってないのかな?
ttp://www.icsi.berkeley.edu/~sather/

205 :名無しさん@お腹いっぱい。:03/09/17 15:26
拡張モジュールで、Init_xxx の "xxx" の部分の文字列は、
require "xxx" の "xxx" の文字列と必ず一致してないといけないの?

206 :名無しさん@お腹いっぱい。:03/09/17 16:14
>>205
環境によって大文字小文字の違いが許容される場合はあるが、
原則としては一致してないといけない。

207 :名無しさん@お腹いっぱい。:03/09/17 17:32
>>206
どうもです。ライブラリのファイル名を変えようと思ったら make し直しですかね。

208 :名無しさん@お腹いっぱい。:03/09/17 17:55
>>207
原則はリコンパイル。

応急処置でよいなら、「新しい名前.rb」を作ってその中から
元のライブラリをrequireしておくといい。

209 :名無しさん@お腹いっぱい。:03/09/17 18:02
>>208
を、その手がありましたか。
今は設計をごにょごにょいじってるところなので、
良い名前がキマるまではそれでしのごうと思います。
どうもありがとうです。

210 :名無しさん@お腹いっぱい。:03/09/17 20:33
CGI で、PHP の $_SESSION みたいな、
Cookie などのセッションに紐付くオブジェクトの永続化を実現するのには、
どうする (何を使う) のが一番お手軽でしょうか?

211 :名無しさん@お腹いっぱい。:03/09/17 20:41
使ったことないけど cgi/session.rb かな?

ttp://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=CGI%3A%3ASession

212 :名無しさん@お腹いっぱい。:03/09/17 22:15
>>211
ありゃ、標準であったんですね。ありがとうございます。

ただ、この session って、値が文字列な Hash しか保持できないようでしたので、
CGI::Session#[]= の val の String の制限を外し、
任意の型のデータを保持できるようにして使うようにしました。

ところで、リファレンスマニュアルのるびきち氏分担の箇所だけ常体なのは何故?

213 :名無しさん@お腹いっぱい。:03/09/18 09:49
るびきちだからです。

セッション固有のIDをキーにしてその時点での継続をPStoreで保存しておけば完璧…と思ったが、Continuationにはmarshal_dumpが定義されてない。残念。

214 :名無しさん@お腹いっぱい。:03/09/18 11:30
Continuationをmarshalingできるくらいなら、先にProcとかThreadをしてるよなぁ。

215 :名無しさん@お腹いっぱい。:03/09/19 01:11
>>212
ちなみに 1.8 では String の制限は外れてるよ。


216 :188:03/09/19 22:28
ia64-hp-hpux1123環境でmake testが通らずに、まだがんばってるわけなんですが、
やっとgdbの使い方覚えたので SEGVしたときのbtを見てみました。

で、rb_gc_mark の引数がNULLじゃないのにrb_gc_mark_childrenの引数の
ptrがNULLになってしまうのはコンパイラが腐っているからですか。

printfを至る所に入れてみたら
obj = RANY(ptr);
のあとでptrがNULLになってる見たいなんですけど・・・ありえないですよね。


#0 rb_gc_mark_children (ptr=0) at gc.c:649
#1 0x4118790:0 in rb_gc_mark (ptr=1093965744) at gc.c:643
#2 0x4117c60:0 in mark_entry (key=10458, value=1093965744) at gc.c:578
#3 0x430f7e0:0 in st_foreach (table=0x42157e10, func=0x404f5c0 <.opd+3472>,
arg=0) at st.c:495
#4 0x4117dd0:0 in rb_mark_tbl (tbl=0x42157e10) at gc.c:587
#5 0x411a390:0 in rb_gc_mark_children (ptr=1093965720) at gc.c:851
#6 0x4118790:0 in rb_gc_mark (ptr=1093965720) at gc.c:643
#7 0x4117c60:0 in mark_entry (key=10458, value=1093965720) at gc.c:578
#8 0x430f7e0:0 in st_foreach (table=0x42157e50, func=0x404f5c0


217 :名無しさん@お腹いっぱい。:03/09/20 03:20
ptrが最適化されて消えてるに1票。レジスタ経由で渡されてその後のインストラクションで破壊されたとか。

218 :名無しさん@お腹いっぱい。:03/09/22 07:10
>>217
むずかしい。。。(つД`)
・・・がんばります。
最適化オプションは -O0 してるのになぁ。

219 :名無しさん@お腹いっぱい。:03/09/22 10:34
関数の引数もvolatileしておかないと消えるのか?

220 :名無しさん@お腹いっぱい。:03/09/22 11:38
RHG の読書会、勇気を出して参加してみるべきだった。

221 :名無しさん@お腹いっぱい。:03/09/22 12:12
↑チキン野郎


222 :名無しさん@お腹いっぱい。:03/09/22 13:19
>>220
どうせ、読書会という名目の飲み会だろ。
それに参加したかったのか?

223 :名無しさん@お腹いっぱい。:03/09/22 19:26
日経BYTE 技術の真髄 まつもとゆきひろの
「プログラミング言語論」の感想を一言↓

224 :名無しさん@お腹いっぱい。:03/09/22 19:35
R


225 :名無しさん@お腹いっぱい。:03/09/22 19:35
U

226 :名無しさん@お腹いっぱい。:03/09/22 20:28
B

227 :名無しさん@お腹いっぱい。:03/09/22 23:19
こないだRuby Way買った。
なんでTime.parseが載ってないんだよw

228 :名無しさん@お腹いっぱい。:03/09/23 01:49
>>227
Ruby Way は Time.parse が載ってないから糞書籍、ということでよろしいでしょうか?

229 :名無しさん@お腹いっぱい。:03/09/23 02:47
レベル低ぅ。

230 :名無しさん@お腹いっぱい。:03/09/23 03:43
そりゃもう、板自体がな。

231 :名無しさん@お腹いっぱい。:03/09/23 06:13
>>227-228
Time.parse なんて最近だろ。
俺が若かったころはな、ParseDate.parsedate(s) で分割して、配列にいれてだな…


232 :名無しさん@お腹いっぱい。:03/09/23 15:30
ParseDate.parsedate.parsedate.parsedate.parsedate.parsedate.parsedate.


233 :名無しさん@お腹いっぱい。:03/09/24 18:43
>>216
> printfを至る所に入れてみたら
> obj = RANY(ptr);
> のあとでptrがNULLになってる見たいなんですけど・・・ありえないですよね。
again:の直後?

> #1 0x4118790:0 in rb_gc_mark (ptr=1093965744) at gc.c:643
> #6 0x4118790:0 in rb_gc_mark (ptr=1093965720) at gc.c:643
この二つのptrの指してるメモリは?
というか24バイトしか離れてないってのもおかしいはおかしいんだけど。

234 :名無しさん@お腹いっぱい。:03/09/24 22:21
>>233
> >>216
> > printfを至る所に入れてみたら
> > obj = RANY(ptr);
> > のあとでptrがNULLになってる見たいなんですけど・・・ありえないですよね。
> again:の直後?
あ、すんません。
rb_gc_mark の最初の RANYです。HEADだと624行目です。

> > #1 0x4118790:0 in rb_gc_mark (ptr=1093965744) at gc.c:643
> > #6 0x4118790:0 in rb_gc_mark (ptr=1093965720) at gc.c:643
> この二つのptrの指してるメモリは?
up して p ptr でいいんですよね。調べておきます。

実は今までベータ版のHPUX使っていたので、正式リリース版のHPUX11.23で試します。


235 :名無しさん@お腹いっぱい。:03/09/24 22:35
pじゃなくてxとか、以前MLで流れてた.gdbinitを使えばrpとか。

236 :216:03/09/25 22:30
>>233
> > #1 0x4118790:0 in rb_gc_mark (ptr=1093965744) at gc.c:643
> > #6 0x4118790:0 in rb_gc_mark (ptr=1093965720) at gc.c:643
> この二つのptrの指してるメモリは?
(gdb) up 6
#6 0x4118790:0 in rb_gc_mark (ptr=1093965720) at gc.c:643
643 rb_gc_mark_children(ptr);
(gdb) rp ptr
T_OBJECT
$1 = {basic = {flags = 66, klass = 1095831936}, iv_tbl = 0x42157e10}
(gdb) p *$1->iv_tbl
$2 = {type = 0x40018e20, num_bins = 11, num_entries = 1, bins = 0x42157110}
(gdb) x/11 $2->bins
0x2000000042157110: 0x00000000 0x00000000 0x00000000 0x00000000
0x2000000042157120: 0x00000000 0x00000000 0x00000000 0x00000000
0x2000000042157130: 0x42157e30 0x00000000 0x00000000
(gdb) p *$2->bins[8]
$3 = {hash = 10458, key = 10458, record = 1093965744, next = 0x0}


237 :216:03/09/25 22:31
>>236 つづき
(gdb) down 5
#1 0x4118790:0 in rb_gc_mark (ptr=1093965744) at gc.c:643
643 rb_gc_mark_children(ptr);
(gdb) rp ptr
T_OBJECT
$4 = {basic = {flags = 66, klass = 1095831936}, iv_tbl = 0x42157dd0}
(gdb) p *$4->iv_tbl
$5 = {type = 0x40018e20, num_bins = 11, num_entries = 1, bins = 0x421570e0}
(gdb) x/11 $5->bins
0x20000000421570e0: 0x00000000 0x00000000 0x00000000 0x00000000
0x20000000421570f0: 0x00000000 0x00000000 0x00000000 0x00000000
0x2000000042157100: 0x42157df0 0x00000000 0x00000000
(gdb) p *$5->bins[8]
$6 = {hash = 10458, key = 10458, record = 1093965768, next = 0x0}
(gdb) rp 1093965768
T_OBJECT
$7 = {basic = {flags = 2, klass = 1095831936}, iv_tbl = 0x42157d90}

thx >>235

238 :216:03/09/25 22:45
>>237
でsample/test.rb の問題のコードはこうなので

class S
def initialize(a)
@a = a
end
end
l=nil
100000.times {
l = S.new(l)
}
GC.start

ptr以外にもインスタンス変数も表示してみました。
(正常そうな)オブジェクトのリンクをたどってmarkしているときに
なぜか突然死したように見えるのですが。。。うーん?

239 :名無しさん@お腹いっぱい。:03/09/26 17:02
$-K と $KCODE って名前が違うだけで全く同じものと思って良いですか?

240 :名無しさん@お腹いっぱい。:03/09/26 18:11
よい。
$ grep -w -e KCODE -e -K *.c
re.c: rb_define_virtual_variable("$KCODE", kcode_getter, kcode_setter);
re.c: rb_define_virtual_variable("$-K", kcode_getter, kcode_setter);

241 :名無しさん@お腹いっぱい。:03/09/26 18:19
>>216
うーん、CHECK_STACK()がまずいのかなぁ。
rb_gc_mark()のCHECK_STACK()をcc -Eで展開するとどんな感じ?


242 :名無しさん@お腹いっぱい。:03/09/26 19:53
>>240
どうもありがとうです。

243 :216:03/09/26 22:20
>>233
> というか24バイトしか離れてないってのもおかしいはおかしいんだけど。
すんません。man cc すらしていませんでした。
HP のコンパイラは +DD64 っていうオプションを付けないとLP64にならない
みたいです。
ついでに最適化オプションも間違ってました。-O0 じゃなくて +O0。

で、+DD64 を指定して、かつ+O1以上を指定すると mkmf.rb
の実行でBus error。。。
miniruby が bus error するもんで make clean もできねぇ(w

+DD64 +O0 だと >>216 と一緒。+DD64 は地雷が多そうだ。。。

244 :名無しさん@お腹いっぱい。:03/09/26 22:32
>>241
> うーん、CHECK_STACK()がまずいのかなぁ。
> rb_gc_mark()のCHECK_STACK()をcc -Eで展開するとどんな感じ?
そういえば100000.times を 30000.times にすると問題なく、
40000にするとSEGVしました。なんか関係ありそうななさそうな。
#会社じゃ2chできないしなぁ。ruby-devに行ったほうが早いかなぁ。


245 :216:03/09/29 22:17
>>241
> >>216
> うーん、CHECK_STACK()がまずいのかなぁ。
> rb_gc_mark()のCHECK_STACK()をcc -Eで展開するとどんな感じ?
do { VALUE *stack_end = __builtin_alloca(1); (ret) = ( (rb_gc_stack_start - (stack_end)) > STACK_LEVEL_MAX + 512);} while (0) ;

こんなんでました。

246 :名無しさん@お腹いっぱい。:03/10/02 09:36
>>244
> そういえば100000.times を 30000.times にすると問題なく、
> 40000にするとSEGVしました。なんか関係ありそうななさそうな。
GC絡みはそういうもん。

> #会社じゃ2chできないしなぁ。ruby-devに行ったほうが早いかなぁ。
たぶん。


247 :名無しさん@お腹いっぱい。:03/10/15 23:08
1.8: 安定版 (のつもり)
1.9: (次の) 開発版
2.0: Rite で仕切り直し (開発版)

って感じなんでしょうか?

248 :名無しさん@お腹いっぱい。:03/10/15 23:57
>>247
1.8.x 安定版
1.9.0 開発版
1.9.1以降 安定版

249 :名無しさん@お腹いっぱい。:03/10/16 07:56
ん?LL Saturdayだと
1.8.x: 安定版
1.9.x: 開発版(2.x系に向けての仕様の開発)
2.0.0: 開発版(実装の開発)
2.0.1?:安定版
とかっていっていたような。

250 :名無しさん@お腹いっぱい。:03/10/16 10:57
>>249
1.9.0が開発版で1.9.[1-9]がそのメンテナンスリリースなのは確定。
ただ、1.9.[1-9]が世間一般で普通に使われるかどうかは微妙、という話だった。


251 :名無しさん@お腹いっぱい。:03/10/16 17:43
で、1.8.1まだー?


252 :名無しさん@お腹いっぱい。:03/10/20 13:24
FreeBSD PORTS の refe の名前、
ruby-ruby-refe って何か変な (っていうかくどい) 気がします。
ja-ruby-refe くらいが適当なような。

253 :名無しさん@お腹いっぱい。:03/10/20 21:41
ん? Rite はバージョンいくつ?

254 :名無しさん@お腹いっぱい。:03/10/20 21:44
>>253
2.0 以降

255 :名無しさん@お腹いっぱい。:03/10/21 01:16
Rite は 2006 年のクリスマスくらいだと予想

256 :名無しさん@お腹いっぱい。:03/10/21 01:30
誰か fork する奴はいねがー?

257 :名無しさん@お腹いっぱい。:03/10/21 01:37
fork == ウザいから勝手にやってくれ

258 :名無しさん@お腹いっぱい。:03/10/21 01:38
fork した elseif Ruby はどうなった?


259 :名無しさん@お腹いっぱい。:03/10/21 14:15
class_attr が欲すぃ。

260 :名無しさん@お腹いっぱい。:03/10/23 00:31
class <<Array ; attr_accessor :hoge ; end
Array.hoge = 1 ; p Array.hoge

261 :名無しさん@お腹いっぱい。:03/10/23 01:17
あ、それでいけたのか。サンクスコ。

262 :名無しさん@お腹いっぱい。:03/10/25 00:25
Ruby 1.8.1でamrita、添付ライブラリにならないかなー。
なんで添付ライブラリになっていないんだろう...


263 :名無しさん@お腹いっぱい。:03/10/25 06:23
比較的新しいからじゃない?
あとアプリ自体は入らないじゃなかったかな。

264 :名無しさん@お腹いっぱい。:03/10/25 13:29
irb と erb

265 :名無しさん@お腹いっぱい。:03/10/25 13:47
テンプレートライブラリは色々あるから
amrita の標準添付を検討するなら他のも検討しなきゃ。

266 :名無しさん@お腹いっぱい。:03/10/30 21:47
1.8.1のpreview1が出たー。

>>262
入れて欲しければ早目にruby-devあたりに言っといた方がいいかと。
1.8.1には間に合わないかもしれんが。

267 :名無しさん@お腹いっぱい。:03/10/30 22:03
>>266
syckでコンパイルエラーだー。
cvsから拾ってくれば問題ないけどな。

268 :名無しさん@お腹いっぱい。:03/10/31 09:25
>>267対応のpreview2が出たー。


269 :名無しさん@お腹いっぱい。:03/11/01 19:40
ruby-listにもアナウンスをだしてほすぃ

270 :名無しさん@お腹いっぱい。:03/11/02 11:56
previewの動作確認ってどこまでするもんなん?
(1) make test がとおればまぁ大丈夫。
(2) test/runner.rb が全部通ればOK
(3) rubicon 通れば無問題


271 :名無しさん@お腹いっぱい。:03/11/02 12:14
>>270
ttp://www.ruby-lang.org/ja/20031030.html

> Rubyを使ったアプリケーションやライブラリを作成されている方や、そうした
> アプリケーションを使用されている方は、このpreview版を使っての動作テス
> トを行ってみてください。もし不具合などがあった場合、それを報告していた
> だけると、正式リリースではその問題を修正したものが提供できるかもしれま
> せん。安定したRubyをリリースするため、ご協力をお願いします。


272 :270:03/11/02 18:01
>>271
あぁ。言葉たらずですんまそん。
1ユーザとしてどこまで確認すればいいのかなーって思ったしだいです。
test/runner.rb 動かしてエラーでたら報告でいいのかな。
rubiconはあまりメンテされたなさそうだし。

273 :名無しさん@お腹いっぱい。:03/11/02 19:34
>>272
1ユーザ==「(Rubyを使った)アプリケーションを使用されている方」ではないの?


274 :名無しさん@お腹いっぱい。:03/11/02 20:22
ブロロロローン

275 :名無しさん@お腹いっぱい。:03/11/07 06:25
最近、学校休みがち。
友達になんでって聞かれても、家で教科書読んでるからって言ってたけど、
実は掲示板と単語帳とWiki作ってた。
一応完成。
オリジナルWikiがお気に入り。

276 :名無しさん@お腹いっぱい。:03/11/07 12:50
DBI:SQLite なんだけど、複数プロセスから connect すると、
"DBI::DatabaseError: database is locked" になっちゃうんだけど、
こういうものなのかしら?
connect しただけで lock されるのは変な気がするんだけど?

277 :名無しさん@お腹いっぱい。:03/11/10 17:59
こう書きたい。

class Hoge
def initialize(@foo, @bar, @baz)
end
end

278 :名無しさん@お腹いっぱい。:03/11/10 18:24
class Hoge
define_method(:initilaize) {|@foo, @bar, @baz|}
end

1.9 から使えなくなるらしいけどな。

279 :名無しさん@お腹いっぱい。:03/11/10 19:16
>>278
むむむ、なんと。
おとなしく @foo, @bar, @baz = foo, bar, baz とすることにします。サンクスコ。

280 :名無しさん@お腹いっぱい。:03/11/10 19:34
関係ないけど
ary.each{|@foo|...}
ary.each{|$foo|...}
とか行けるのな。初めて知った。


281 :名無しさん@お腹いっぱい。:03/11/10 19:49
>>280
うっかり使ってミスるとハマりそうだな。いや、うっかり使うことはないだろうけど。

282 :名無しさん@お腹いっぱい。:03/11/10 20:15
見た目はキモいがこんなことも可能。
irb(main):001:0> def reverse(a)
irb(main):002:1> ret = []
irb(main):003:1> i = a.size
irb(main):004:1> a.each {|ret[i-1]| i -=1 }
irb(main):005:1> ret
irb(main):006:1> end
=> nil
irb(main):007:0> reverse([1,2,3,4,5])
=> [5, 4, 3, 2, 1]


283 :名無しさん@お腹いっぱい。:03/11/10 20:26
そーいえば lambdaの引数ぐらいはローカルにしてほしかったなー。

284 :名無しさん@お腹いっぱい。:03/11/10 20:44
>>282 を見て思いついた。

foo = Object.new
def foo.[]=(a)
p a
end
[1,2,3].each{|foo[]|}

1
2
3


285 :名無しさん@お腹いっぱい。:03/11/10 20:59
次世代1.9の仕様(見込み)はこちらをどーぞ。
ttp://www.rubyist.net/~matz/20031023.html#p02

286 :名無しさん@お腹いっぱい。:03/11/10 21:24
rubyを使ってるやつは知障。
これからはXL。

287 :名無しさん@お腹いっぱい。:03/11/10 21:24
> eval内で新規に登場したローカル変数はeval終了後消える
ぎゃー。

288 :名無しさん@お腹いっぱい。:03/11/11 03:58
ズバリ、今、一番お手軽に https するには?

289 :名無しさん@お腹いっぱい。:03/11/11 04:17
1.8(1.8.1?)以降なら、opensslが入ってるから
require 'net/https' すればよいと思われ。


290 :名無しさん@お腹いっぱい。:03/11/11 13:21
>>289
サンクスコ。
shim-ruby16_18-1.8.1-preview2 にも入ってたんで使ってみます。
ちょっといじってみた感じ、うまくいってるみたい。

291 :名無しさん@お腹いっぱい。:03/11/12 11:31
Dir.globの引数に正規表現使いたくないですか?

292 :名無しさん@お腹いっぱい。:03/11/12 13:56
>>291
Dir::open(path).grep(pattern) でしのげるからいいや。

293 :名無しさん@お腹いっぱい。:03/11/12 14:24
>>292
grepなんてメソッドあるんだ。

しかも、DirだけじゃくてArrayにもある。
便利だ。Thanks.

294 :名無しさん@お腹いっぱい。:03/11/12 16:06
なんで、DirとかArrayのリファレンスマニュアルにgrepのってないんだろー。
Javaみたいにマニュアルが整備されてないの?標準のライブラリくらいしっかりしろよー。
とかいろいろおもってたら、Enumerableっていうのをincludeしてるんですね。

しかも、このEnumerableっていうのをincludeしてるクラスはeachが定義されてると
いろんなメソッドが使える!

レベルかなりアップしました。っていうか、Enumerableしらなかったら、かなり損ですね。

295 :名無しさん@お腹いっぱい。:03/11/12 17:54
294のレベルがあがった。294は少し賢くなった。


296 :名無しさん@お腹いっぱい。:03/11/12 18:11
ていうか、 ri Array#grep とか refe Array#grep とかできるといいなあ。

297 :名無しさん@お腹いっぱい。:03/11/12 18:45
ri grep とか refe grep でよくないか?


298 :名無しさん@お腹いっぱい。:03/11/12 19:25
>>296 最新の refe なら出来るぞ

$ refe Array#grep
Array < Enumerable#grep
--- grep(pattern)
--- grep(pattern) {|item| ... }

pattern === item が成立する要素を全て含んだ配列を返し
ます。ブロックとともに呼び出された時には条件の成立した要素に対して
それぞれブロックを評価し、その結果の配列を返します。マッチする要素
がひとつもなかった場合は空の配列を返します。


299 :名無しさん@お腹いっぱい。:03/11/12 19:36
>>298
あ、ホントだ。快適快適。

300 :名無しさん@お腹いっぱい。:03/11/13 15:32
ttp://www.rubycolor.org/maki/d/200311b.html#12_t1
だよもんかと思ったんだよもん

301 :名無しさん@お腹いっぱい。:03/11/13 17:27
>>300
同じことを思ったけど、そんなことを思うっちゃのは、たぶん私とあなただけだよもん

302 :名無しさん@お腹いっぱい。:03/11/17 23:36
ttp://www.rubyist.net/~matz/slides/rc2003/mgp00028.htm

foo:wrap のなかでsuperを呼ばない場合はどうなるんだろう?

wrap pre
foo
warp post

かな?

wrap pre
pre
post
wrap post

なわけないか。

303 :名無しさん@お腹いっぱい。:03/11/18 01:11
pre
foo
post

に一票。

304 :名無しさん@お腹いっぱい。:03/11/18 10:24
wrapはsuperを呼んでなけりゃ無視されるってこと?
そりゃー難しいんじゃないかなー。

305 :名無しさん@お腹いっぱい。:03/11/18 10:49
>>302 が not foundになるのだが、俺だけ?

306 :名無しさん@お腹いっぱい。:03/11/18 11:02
>>305
最後のlが抜けてる。

307 :名無しさん@お腹いっぱい。:03/11/18 14:36
スライドの39ページ
M17Nの所に二重丸が付いているのはどういう意味かな?


308 :名無しさん@お腹いっぱい。:03/11/18 14:48
重点課題か?

309 :名無しさん@お腹いっぱい。:03/11/18 19:10
◎◎


310 :名無しさん@お腹いっぱい。:03/11/19 00:15
もうできたってことかな。

311 :名無しさん@お腹いっぱい。:03/11/19 23:13
みなさん、 String#% ってどう書いてますか?

"%s"%str
"%s"% str
"%s" % str

312 :名無しさん@お腹いっぱい。:03/11/19 23:36
いちばんした。

313 :名無しさん@お腹いっぱい。:03/11/20 00:20
>>310
たしか、TRON関係のが救えないよね、って話が残ってた気がする。

314 :名無しさん@お腹いっぱい。:03/11/20 06:01
>313
あれはちょっと特殊杉。
TRON独自markup言語とみるべきじゃないかな。

315 :名無しさん@お腹いっぱい。:03/11/20 19:46
>>314
CSI⇒できるだけ多くのコードセットを扱える枠組みを作りたい、
という議論の中でだから、そういう特殊なのも話にでてきたんだろう。
よくよく考えると、今だってJISコード(Kanji-in/outのmarkupあり)は
サポートされてないし、そういうのは切り捨てざるを得ないのかな。

316 :名無しさん@お腹いっぱい。:03/11/21 13:43
実際TRON以外では使われてないわけで、
標準でサポートされるとは考えにくい。

317 :名無しさん@お腹いっぱい。:03/11/24 23:27
FreeBSD の ports/ruby-amrita-1.0.2 を使ってるんですが、
このバージョンだと escaped_id が効かなかったりしますか?バグ?

>>302
これって、アスペクト志向の言語レベルでのサポート?
だとするとちょっとありがたいというか面白そう。
AspectR 使ってみたけどなんかいまいちという印象だったんですよね。

318 :名無しさん@お腹いっぱい。:03/12/02 16:06
Array#zip って結局 1.8 でも採用されなかったんだっけ?

319 :名無しさん@お腹いっぱい。:03/12/02 16:11
試せばいいのに。

320 :名無しさん@お腹いっぱい。:03/12/02 17:24
>>318
その通り。

321 :名無しさん@お腹いっぱい。:03/12/02 17:45
>>320
そうですか。あればあったでたまーに便利なことがあるのでちょっと残念。

322 :名無しさん@お腹いっぱい。:03/12/02 18:18
だから試せよ。

% ruby -e 'p [].respond_to?(:zip)'
true

323 :320:03/12/02 18:20
>>321
Enumerable#zip

324 :名無しさん@お腹いっぱい。:03/12/02 18:35
>>322 >>323
ぐはぁ。どうもです。 Enumerable にあったのか・・・
shim では Array#zip みたいですね。

325 :276:03/12/03 13:30
遅レス&自己レスですみませんが、現行の DBI の作りによる制限のせいで、
どうも「こういうもの」ということのようですね (cf: [ruby-talk:75057]) 。
SQLite 向けに何か特別な workaround を入れないと使えなさそうなのですが、
それではせっかく DBI 使う旨味も無くなりそうで歯痒い気もします。
とりあえずしかたないので sqlite-ruby あたりを使うことにしようかと思います。

326 :名無しさん@お腹いっぱい。:03/12/03 15:00
Net::HTTP の version_1_1, version_1_2 メソッドの説明で、
「この機能はスレッドセーフではありません」とあるのですが、
これってどういう意味でしょうか?

複数スレッド動作中に version_1_1, version_1_2 を実行した場合は動作保証しない、
ということでしょうか?

それとも、いちど version_1_1, version_1_2 を呼んだら、あとは、
Net::HTTP の全ての機能がスレッドセーフじゃなくなっちゃうということでしょうか?

327 :名無しさん@お腹いっぱい。:03/12/03 22:42
>>326
自分で「この機能は」って引用しといて、どうして
「全ての機能が」という理論の飛躍ができるの?

ライブラリ全体で一つの状態を保持すれば、
MT Safeでないのは当然と思うが。

328 :名無しさん@お腹いっぱい。:03/12/03 23:30
>>327
というか、その「この」が ambiguous だと感じたのです。
けれど、それは私の読み違いだったわけですね。

329 :名無しさん@お腹いっぱい。:03/12/12 22:41
保守。

330 :名無しさん@お腹いっぱい。:03/12/21 23:19
heliumってcore吐かしたりしてもいいんだね。部外者だから知らなかった。

331 :名無しさん@お腹いっぱい。:03/12/22 10:49
α線か。

332 :名無しさん@お腹いっぱい。:03/12/22 17:26
heliumにシェルアカウントがあれば、別にいいんじゃない?

333 :名無しさん@お腹いっぱい。:03/12/26 11:12
駆け込みリリースはんたーい!
リリース前の猶予期間さんせーい!

334 :名無しさん@お腹いっぱい。:03/12/26 12:29
リリース前に猶予期間は4ヶ月以上あったわけだが。

335 :名無しさん@お腹いっぱい。:03/12/26 12:37
「最後の変更が行われてから、リリースまでの」猶予期間、という意味だけど、
その場合は何て言ったらいいんだよ?

336 :名無しさん@お腹いっぱい。:03/12/26 15:28
むしろ駆け込みバグレポートを(ry

337 :名無しさん@お腹いっぱい。:03/12/26 18:04
>>335
そう言えばいいじゃん。
独りよがりな省略をするな。

338 :名無しさん@お腹いっぱい。:03/12/26 23:31
>>336
たしかに。リリース前日はすごかった。

339 :名無しさん@お腹いっぱい。:03/12/27 15:21
akr ってだれ?

340 :名無しさん@お腹いっぱい。:03/12/27 16:31
>>339
金光さん

341 :名無しさん@お腹いっぱい。:03/12/27 16:33
あれが同一人物だったら俺は窒息死できる。

342 :名無しさん@お腹いっぱい。:03/12/27 22:23
>>337
じゃ、4ヶ月あった「リリース前の猶予期間」っていうのは、何を指してるの?
何が猶予期間の始まりなの?

343 :名無しさん@お腹いっぱい。:03/12/28 02:31
>>342
クリスマスのリリースははじめからわかってる。

344 :名無しさん@お腹いっぱい。:03/12/28 07:56
>>342
ということは、「クリスマスのリリースと言ったのが4ヶ月前(8月?)だから、
それからが後が猶予期間だった」というわけ?

それはそれでおかしな話だと思うんだけど(単なる「予定」か「希望」のような気がするので)
それはともかくとしても、その「猶予期間」中に新しいライブラリ入れてたり、
pthread 対応を入れ始めたりしてるのはよした方がいいんじゃないの? っていうことを
私は言いたかったんです。

1.8.0 といい、今回といい、どうしても

リリース直後・・・bug fix
しばらくの間・・・ちょっとずつ更新
リリース直前・・・新しい機能を入れて、それを直しきれずにリリース(で、上に戻る)

という感じがして。本来ならば


リリース直後・・・新しい機能を入れる
しばらくの間・・・ちょっとずつ更新
リリース直前・・・十分な期間、bug fix のみをしてからリリース

というんじゃないかと思っただけで。

まあ、独り言ですかね。

345 :名無しさん@お腹いっぱい。:03/12/28 08:26
Ruby のリリースはちょっとあわただしいなぁというのは自分も同感。
1.8.0 の時ほどひどくはなかったけど、正式なリリース直前の修正があまりにも多すぎる。


346 :名無しさん@お腹いっぱい。:03/12/28 09:26
ようやく1.9と1.8が分かれたから、
次はマシになるんじゃないかなあ。
と希望。

347 :名無しさん@お腹いっぱい。:03/12/28 11:04
pthreadどうやって使うの?

348 :名無しさん@お腹いっぱい。:03/12/28 14:07
>>344
だからね、「言いたかった」ことを最初にそのまま言えば誰も誤解しないんだってば。

それはそれとして、344の指摘はかなり正しいとは思う。もっとも、

リリース直後・・・bug fix
しばらくの間・・・big fix
リリース直前・・・十分な期間、bug fix のみをしてからリリース

であるべきだ、というのが私の意見だけど。
新しい機能は開発版ブランチだけでよろし。


349 :名無しさん@お腹いっぱい。:03/12/28 14:22
でも、リリースしないと結局試してもらえないという話もある。

350 :名無しさん@お腹いっぱい。:03/12/28 15:38
>>348
「もっとも〜でよろし。」のところは矛盾してねーか?
開発版ブランチで入れた機能のマージは、キミのリリースサイクルのどこに入るのだ?

351 :名無しさん@お腹いっぱい。:03/12/28 15:57
>>348
「言いたかった」が伝わってなかったことについては、了解。
ようやく伝わって安心した。

>>349
確かにそれは言える。
でもだからといって、リリースの直前に入れるのも・・・、ね。

352 :名無しさん@お腹いっぱい。:03/12/28 18:43
>>350
マージしない。

353 :名無しさん@お腹いっぱい。:03/12/30 21:15
「鬼車は鉄板として」って、どういう意味?
ttp://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=RHG%C6%C9%BD%F1%B2%F1%3A%3A%C5%EC%B5%FE+Reloaded

354 :名無しさん@お腹いっぱい。:03/12/30 21:25
・ 「akr = 金光」説。
ワロタ

355 :名無しさん@お腹いっぱい。:03/12/30 22:48
>>353
「(REエンジンの)鬼車への移行は確実」ってことでないの。

356 :名無しさん@お腹いっぱい。:03/12/31 00:33
>>353 は鉄板の意味が分からなかったに300ども。


357 :名無しさん@お腹いっぱい。:03/12/31 01:28
そーいえば俺も知らない < 鉄板
さいきんよく見かけるんだけどなー。
そのうち錆ちゃうってこと?

358 :名無しさん@お腹いっぱい。:03/12/31 01:32
>>350-352がフィルタされて読めない。読もうとも思わない。

359 :名無しさん@お腹いっぱい。:03/12/31 02:20
どの条件でフィルタされたのかは知らぬが、
なぜそれをいちいち報告するのだ?

360 :名無しさん@お腹いっぱい。:03/12/31 03:54
鉄板: カタイ→確実の意味。元はギャンブル系?(競馬の予想とか)


361 :名無しさん@お腹いっぱい。:03/12/31 08:24
>>354
尾崎説もあるよ(藁

362 :名無しさん@お腹いっぱい。:03/12/31 09:26
>>359
読む価値のなかったことを正確に伝えるため。

363 :名無しさん@お腹いっぱい。:03/12/31 10:29
駆け込みを減らすには、
レアなプラットフォームの自信ありの人は毎日ビルドして ruby test/runner.rb する。
testを書ける人はとにかくtestを充実させる。
ってことをやっていくのがよいのではないかな。

364 :名無しさん@お腹いっぱい。:03/12/31 15:10
>>362
まあ、あなたの書き込みは、ネタなんでしょうが、釣られついでに。

「読めなかった」文章を、「読む価値の無かった」と決めることが出来た方法を
教えて下さい。

それは私にも出来る方法ですか?
論文で発表されたことがありますか?

365 :名無しさん@お腹いっぱい。:03/12/31 15:22
>>358がフィルタされて読めない。読もうとも思わない。

366 :名無しさん@お腹いっぱい。:03/12/31 16:57
http://pc.2ch.net/test/read.cgi/unix/1060537252
がフィルタされて読めない。読もうとも思わない。

367 :名無しさん@お腹いっぱい。:03/12/31 17:41
やまだあきら氏とたなかあきら氏の見分け方を教えて下さい

368 :名無しさん@お腹いっぱい。:03/12/31 18:06
arika is akira
akr is akira

369 :名無しさん@お腹いっぱい。:03/12/31 22:52
>>354
仮に「zsh シェルプログラミング」という本が出版されたとして
akr 著と金光著の2冊が並ぶとかなり笑えるかも。

370 :名無しさん@お腹いっぱい。:03/12/31 22:56
http://dev.ruby-lang.org/
ってなに?

371 :名無しさん@お腹いっぱい。:03/12/31 23:18
>>370
http://dev.ruby-lang.org/
> ってなに?

ruby-lang.org が tDiaryになる時のテストサイト.
# よって、available now.

372 :名無しさん@お腹いっぱい。:04/01/01 00:29
出遅れたけど、
year += 1

今年もよろしゅう。

373 :名無しさん@お腹いっぱい。:04/01/01 02:04
2004年のRubyの展望↓↓↓

374 :名無しさん@お腹いっぱい。:04/01/01 02:11
2.0のブランチが切られる

375 :名無しさん@お腹いっぱい。:04/01/01 02:58
想像できないようなすごいことが起こる


376 :名無しさん@お腹いっぱい。:04/01/01 03:05
なんとmatzが・・・

377 :名無しさん@お腹いっぱい。:04/01/01 03:11
akr-ruby

378 :名無しさん@お腹いっぱい。:04/01/01 04:51
金光-ruby

379 :名無しさん@お腹いっぱい。:04/01/01 13:19
あれ、2.0ってスクラッチから書かれるんじゃないんだ

380 :名無しさん@お腹いっぱい。:04/01/01 16:18
>>379
VM周りがスクラッチから書かれるにせよ、他の共通部だってかなりあると思わん?
だったらRiteもブランチ切ってからやる方が自然でしょう。


381 :名無しさん@お腹いっぱい。:04/01/01 16:22
Test First とはちょっと違うけど。
Riteによって特に高速化が期待されるようなコード群とそれらの目標速度が発表される(なんてことするなら実装を先に書くのかな、matz氏は)。

382 :名無しさん@お腹いっぱい。:04/01/01 16:35
今年こそ lambdaが lambdaに相応しい挙動になる。

383 :名無しさん@お腹いっぱい。:04/01/02 04:10
λλλ....

こんな感じか

384 :名無しさん@お腹いっぱい。:04/01/02 05:44
しょんぼり。


385 :名無しさん@お腹いっぱい。:04/01/03 21:43
Ruby で RSS 書き出すために必要なライブラリは、ズバリどれ?
(Parserは付いて無くても良い)

386 :385:04/01/03 22:22
>>385
ごめん、Parser だけど、
ttp://raa.ruby-lang.org/list.rhtml?name=rss
の RSS::RDF を使えば上手くいくみたい。失礼した。

使い方がドキュメント化されていないようなので、
ちょっと試行錯誤だけれども。

387 :名無しさん@お腹いっぱい。:04/01/04 00:10
なんでパッチと本文の区切りはメスマークなんですか。


388 :名無しさん@お腹いっぱい。:04/01/04 15:49
^L (Ctrl-L) のことか?

389 :名無しさん@お腹いっぱい。:04/01/04 17:53
>>388
改ページだったのか。
Mozillaだと「♀」に見えるもんで。


390 :名無しさん@お腹いっぱい。:04/01/06 09:51
RAA の RSS って、どこだっけ?

391 :名無しさん@お腹いっぱい。:04/01/06 13:31
>>373
半角カタカナの積極的なサポート。

392 :名無しさん@お腹いっぱい。:04/01/06 13:56
まずは tdiary から。

393 :391:04/01/06 14:17
>>392
是非 hankana.rb の contribute をお願いします。
# 人違いだったらすいません。

394 :名無しさん@お腹いっぱい。:04/01/07 10:58
[ruby-list:39027]

* HTML生成部を外す
* NewCGI.new の引数か何かで、NewCGI.params の 各Value の返値を
Array of Strings, Array of StringIOs, Array of Tempfiles,
String, StringIO, Tempfiles のいずれかになるようにする

というのでどう?

# っていうのを、なぜここで話す>俺

395 :名無しさん@お腹いっぱい。:04/01/07 12:16
nokada さんはどうして 1.8 のメンテナーの立候補をされないんでしょうか?
1.9 の方が楽しいに決まってるから?


396 :名無しさん@お腹いっぱい。:04/01/07 12:49
>>394
CGIライブラリなのにHTMLが扱えるってのにいままで引っかかっていたけど、
これってもしかしてPerl伝来?

> 引数か何かで
継承の使いどころかと。

397 :名無しさん@お腹いっぱい。:04/01/07 13:09
>>395
決まってるから。

398 :名無しさん@お腹いっぱい。:04/01/08 00:05
>>390
http://raa.ruby-lang.org/raa-rdf10.xml かな。

399 :名無しさん@お腹いっぱい。:04/01/08 15:26
>>398
ありがとん。

tml 使ってみようかな。

400 :名無しさん@お腹いっぱい。:04/01/08 18:59
今だ!!400ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゜Д゜⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ


401 :名無しさん@お腹いっぱい。:04/01/08 21:49
>>394
深く考えずにPHPっぽいのでいいとおもう。ってのでどう?

402 :イブの夜にrubyいじってるうんこ:04/01/09 14:04
>>347
configure --enable-pthread


403 :名無しさん@お腹いっぱい。:04/01/10 17:46
ttp://rrr.jin.gr.jp/
の存在理由というか、開設理由って、誰か知っていますか?

いまいち、何のためのサイトかよく分かってないんですが。
NaHiという人の、個人サイト?

404 :名無しさん@お腹いっぱい。:04/01/10 19:34
>>403
> NaHiという人の、個人サイト?
そう

405 :名無しさん@お腹いっぱい。:04/01/16 14:23
shim-ruby16_18-1.8.1 まだぁ?

406 :名無しさん@お腹いっぱい。:04/01/16 16:04
class Foo; def self.foo; end; end
class Foo; def Foo::foo; end; end
class Foo; class<<self; def foo; end; end; end

この 3つは全て同じ意味になるんでしょうか?

407 :名無しさん@お腹いっぱい。:04/01/16 16:14
同じ

408 :名無しさん@お腹いっぱい。:04/01/16 16:17
なるほど。どうもです。

409 :名無しさん@お腹いっぱい。:04/01/16 16:19
で、あとは実装者の好みとかスタイルとかで好きな書き方を選べばいいんですかね。
ふむふむ。

410 :名無しさん@お腹いっぱい。:04/01/16 16:39
個人的には、二つ目はFooが何度も出てくることになるので好みじゃない。


411 :名無しさん@お腹いっぱい。:04/01/16 17:06
個人的には、二つ目はFooのサブクラスを使う時にマズ-になりそうに見える(実際はOK)
ので好みじゃない。



412 :名無しさん@お腹いっぱい。:04/01/16 18:42
個人的には、三つ目はネストが無駄に一段深くなるように見えるので好みじゃない。

413 :名無しさん@お腹いっぱい。:04/01/16 21:04
最初のやつを使えってことか?
selfってなんだっけ、とか考えないといけないので最初のも好きじゃないんだけど

414 :名無しさん@お腹いっぱい。:04/01/16 21:10
どれも使えなくて困るストーr(ry
じゃなくて、どうしろってんだゴルァ

415 :名無しさん@お腹いっぱい。:04/01/16 21:23
>>413
selfってなんだっけ、とか考えてること自体がヤバい


416 :406:04/01/16 21:23
私は、最初 2だったんですが、>>410 >>411 と同じように思ったので、最近は 1です。
self ってなんだっけ、とか考えないといけない状況になったことは私はないですね。

ところで、他に書き方ありますか?

417 :名無しさん@お腹いっぱい。:04/01/16 21:40
後はclass_evalを使うような変則的なのか、合わせ技みたいなのだけじゃないかな。
個人的には、一つだけなら一つ目、多ければ三つ目かな。
あまり明確な線引きがあるわけじゃないけど。

418 :名無しさん@お腹いっぱい。:04/01/16 21:47
あぁ、確かに多くなると 3つ目の方が良さそうな気がしますね。なるほど。

コーディングスタイルネタはひとによっていろんな意見が聞けて面白いすね。

419 :名無しさん@お腹いっぱい。:04/01/16 23:12
でも宗教戦争になるので深入りしないように。

420 :名無しさん@お腹いっぱい。:04/01/17 23:38
class Foo; end; class << Foo; def foo; end
これが好き。

421 :名無しさん@お腹いっぱい。:04/01/17 23:40
% ruby -e 'class Foo; end; class << Foo; def foo; end'
-e:1 syntax error


422 :420:04/01/17 23:45
end 一個足りなかったか。

423 :名無しさん@お腹いっぱい。:04/01/19 01:59
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/22618
> マ筒

ワラタ

424 :名無しさん@お腹いっぱい。:04/01/19 08:58
>>423
w)
ネタなのか。typoなのか。

425 :名無しさん@お腹いっぱい。:04/01/19 09:47
まつもとさんは、いまも日本語入力はこれなんだろうか。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/26383

426 :名無しさん@お腹いっぱい。:04/01/19 09:55
これだと左手の負荷が大きいと思うのだけど、左利きなのでしょうか?

427 :名無しさん@お腹いっぱい。:04/01/19 10:51
>>426
ゃゅょっんが独立してるから、子音が連続することはまずないと思うけど
そういうことではない?

428 :名無しさん@お腹いっぱい。:04/01/19 13:16
この配列ってマ筒オリジナル?
skyとか何かをベースにしてる?

429 :名無しさん@お腹いっぱい。:04/01/19 14:02
心優しいオレ様が、前後のメールすら調べようとしない >>428 のためにレスしてやろう。

[ruby-list:26406]
> Cannaの改善をいろいろ行ってた狩野さんが原作者です。所属は忘
> れちゃいました。早稲田? 私がいただいた頃には名前がなかった
> のですが、その後「きゅうり」という名前がついたようです。私の
> は若干配列などが変わっているので(子音の配列が若干変わってい
> ますし、「foo」で「しょう」などは私のオリジナルです)、あえて
> 呼ぶなら「きゅうり改」でしょうか。


430 :名無しさん@お腹いっぱい。:04/01/19 14:05
あ、次のページ(26401-26600)でまだレス続いてたのか。

431 :名無しさん@お腹いっぱい。:04/01/19 14:14
>>430
ruby-*を見るときはスレッド表示の方が便利だよ。
メール画面一番上の「---」をクリック。

つーかbladeのシステムって公開しないのかなあ。
WebのMLアーカイブでbladeより使いやすい物って見たことない。

432 :名無しさん@お腹いっぱい。:04/01/19 14:37
なるほど。こりゃ便利。
以前 sylpheedのML覗いた時、わりといいなと思ったけど、
そこで利用されてる w3mlというのは blade参考にしてたのか。
# 実装じゃなくて見掛けの話。
開発は止まってしまってる模様。

433 :名無しさん@お腹いっぱい。:04/01/19 15:19
>>432
w3ml と同じ作者がメーリングリストツールの tml ってのを作成中のもよう。
こっちは現在進行形だし、TODO に「w3mlとの統合」と書いてあるから、
そのうち w3ml も更新されそう。

今のところ
*w3ml → 1.6 系でしか動かない
*tml → 1.8 系でしか動かない
てのがちょっとオモロい。

434 :名無しさん@お腹いっぱい。:04/01/20 14:22
> WebのMLアーカイブでbladeより使いやすい物って見たことない。
こういう意見を言う人をはじめて見た。
漏れには苦痛以外の何物でもないし、漏れの回りの人間も同じ意見なのだが。
MHonArcやpipermailの方がどちらかといえば直観的な気がする。

435 :名無しさん@お腹いっぱい。:04/01/20 16:07
431とは別人だが、bladeはかなり使いやすいと思う。
けど漏れにはw3mlくらいで十分とも思う。
MHonArcはかなり苦痛。pipermailってのは知らん。

436 :名無しさん@お腹いっぱい。:04/01/20 16:18
sourceforge.jpのアーカイブがpipermail。


437 :名無しさん@お腹いっぱい。:04/01/20 16:34
blade派だけど、直感的ではないというのには同意。

でもそれは食わず嫌いに近いだろうと思えます。
MHonArcはわかりやすいだけとも言えませんか?

438 :名無しさん@お腹いっぱい。:04/01/20 19:31
ああ、あれがpipermailなのか。
漏れ内部では blade>w3ml>>pipermail>>>>>>>MHonArc となりますた。

439 :名無しさん@お腹いっぱい。:04/01/20 19:49
sf.netは酷い。

440 :名無しさん@お腹いっぱい。:04/01/21 11:12
>>439
たしかに酷い。
俺的にはpipermail>>>>>>>sf.net archive>>geocrawlerだな。

441 :名無しさん@お腹いっぱい。:04/01/24 11:01
ruby-cvs の日本語化も始まったことだし、残るは

 日刊 ruby-talk summary for Japanese

だけか。

442 :名無しさん@お腹いっぱい。:04/01/24 12:40
ruby-listも廃れちゃってるからなあ

「rubyは日本発だから」とかいってる奴は現状を見たほうがいいとおもう

443 :名無しさん@お腹いっぱい。:04/01/24 16:54
>>441

流量はすごそうだけど、内容は充実してんの?>ruby-talk

444 :名無しさん@お腹いっぱい。:04/01/24 19:16
充実してるかどうかはともかく
本流であるのは確かだな。

445 :名無しさん@お腹いっぱい。:04/01/26 01:09
>>441
ruby-cvsのは日本語化じゃなくて、解説を(たまたま)日本語でやってるだけだろ。

446 :名無しさん@お腹いっぱい。:04/01/26 20:06
>>445
たまたまなの?

447 :名無しさん@お腹いっぱい。:04/01/26 22:52
たまたまやってるのが日本人。

448 :名無しさん@お腹いっぱい。:04/01/27 13:50
例えば、標準添付候補ライブラリは
/usr/local/lib/ruby/preview/ の配下にインストールする、というのはどうかな。

449 :名無しさん@お腹いっぱい。:04/01/27 14:01
>>448
誰が?

450 :名無しさん@お腹いっぱい。:04/01/27 14:09
>>449
あ、すんません、 [ruby-dev:22691] あたりの話です。
標準で付いて来ないとみんな評価してくれないわけなので、
標準で preview とかにインストールしてしまって、
RUBYLIB=/usr/local/lib/ruby/preview:$RUBYLIB するだけですぐ使えるように、
敷居を低くしておけば良いんじゃないのかな、と思いました。

451 :名無しさん@お腹いっぱい。:04/01/27 16:30
previewにつけるならもうext配下にないと遅いよ。

452 :名無しさん@お腹いっぱい。:04/01/27 22:10
>>448
cvs に合わせて preview じゃなくて rough にしとけ。

453 :名無しさん@お腹いっぱい。:04/01/28 02:51
rough機能してないじゃん

454 :名無しさん@お腹いっぱい。:04/01/28 12:32
sample なんてディレクトリがあったのか。
ライブラリのドキュメントが無くて苦労してたのに。

455 :名無しさん@お腹いっぱい。:04/01/28 13:54
roughをextの下にln -sしとけ。

456 :名無しさん@お腹いっぱい。:04/01/28 14:12
XMLParser 標準添付希望。

457 :名無しさん@お腹いっぱい。:04/01/28 14:24
>>455
だから、rough 自体が機能していないのが問題ではないかと。

RubyForge が rough 相当になっても良いのではと思ったり。

458 :名無しさん@お腹いっぱい。:04/01/28 14:24
ここでいうな。

459 :名無しさん@お腹いっぱい。:04/01/28 19:51
age

460 :名無しさん@お腹いっぱい。:04/01/29 00:09
>>456
REXML 付いてるけど。
じゃなくて expat ラッパの xmlparser のこと?

461 :名無しさん@お腹いっぱい。:04/01/29 01:16
>>460
はい。
SOAP や XML-RPC のサーバで pure Ruby な XML パーサは使い物にならんです。

462 :名無しさん@お腹いっぱい。:04/01/29 01:20
あと、expat もそれほど特殊なライブラリでは無い (と個人的に思ってる) ので、
標準添付にしてもいいんじゃないかなと。

463 :名無しさん@お腹いっぱい。:04/01/29 03:16
net/https.rb が見当たらないんですが、どこにあるのでしょうか?

1.8.1 の中にも無いし、
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/lib/net/
CVSにも見当たらないです。

464 :名無しさん@お腹いっぱい。:04/01/29 03:18
>>463
ext/openssl/lib/net

465 :名無しさん@お腹いっぱい。:04/01/29 03:25
ruby とは別にまた自分で入れないといけないんですね

466 :名無しさん@お腹いっぱい。:04/01/29 03:28
あ、違う。
opensslのヘッダを入れてなかったからrubyのインストール時に入らなかったんですね。
入れなおします。

467 :名無しさん@お腹いっぱい。:04/01/29 09:12
>>461-462
メンテナ必須なので、よしだむさんに頼んでみれ。

468 :名無しさん@お腹いっぱい。:04/01/29 23:31
amrita 標準添付希望。
最近これなくして CGI プログラムが書けない身体になってきた。

469 :名無しさん@お腹いっぱい。:04/01/30 00:58
>>468
webrick/cgi+amrita。これ最強。

470 :名無しさん@お腹いっぱい。:04/01/30 00:59
だからここでいうな。

471 :名無しさん@お腹いっぱい。:04/01/30 12:48
ここでいうなってのも理不尽だ。どこで言ってもいいだろ。



効果ないけどなー。

472 :名無しさん@お腹いっぱい。:04/01/30 13:15
amrita→アニータ
という無意味な連想をしちゃうのはおれだけかな?


473 :名無しさん@お腹いっぱい。:04/01/30 13:30
萌えかねないライブラリだなw
ってか、語源はインド神話だったのか。

474 :名無しさん@お腹いっぱい。:04/01/31 01:06
ラムタラみたい

475 :名無しさん@お腹いっぱい。:04/01/31 01:15
あおきみねろうほげほげ、かと思ったらこれは違うのか。

476 :名無しさん@お腹いっぱい。:04/01/31 11:13
>>475
それは amstd (まだあるんだっけ?)

477 :名無しさん@お腹いっぱい。:04/01/31 11:34
>>469
servletじゃなくてcgiなのは汎用性の問題?

478 :名無しさん@お腹いっぱい。:04/01/31 15:42
皆さんの御自慢のワンライナーを晒してください。

479 :名無しさん@お腹いっぱい。:04/01/31 16:23
% ruby -e 'eval(ARGF.read)'


480 :名無しさん@お腹いっぱい。:04/01/31 20:16
for i in $(ruby -e '$stdin.read.scan(/"news\/(.+?\.mp3)"/) do fn = $1; puts fn unless File.exist?(fn) end' < news.html)
wget http://yhk3.hp.infoseek.co.jp/news/$i


481 :名無しさん@お腹いっぱい。:04/02/01 02:59
みなさん getpass(3) みたいなの (echo back しない一行入力) ってどうしてますか?
私は自前で適当なのをいちいち書いたりするんですが、
標準でそういうメソッドがあったらなあ、と思います。
というか、定石みたいなものがあるんでしょうか?
もしかして、 readline か curses あたりでなんとかなるのかも知れませんが、
それも大袈裟な気がします。

482 :名無しさん@お腹いっぱい。:04/02/01 05:41
begin
system("stty -echo")
$stdout.print("Enter passwd:")
$stdin.gets
$stdout.puts
ensure
system("stty echo")
end

483 :名無しさん@お腹いっぱい。:04/02/01 12:50
>>482
そうそう、私もそれとおんなじようなの書いてるんですが、
Windows などほかの環境でも動くのかなとかそういうのが心配で。
Cygwin では動きますね。

484 :名無しさん@お腹いっぱい。:04/02/01 14:26
ポータビリティのある書き方はできないと思う。
せいぜい DBI みたいに環境ごとにブリッジしてやるしかないかと。

485 :名無しさん@お腹いっぱい。:04/02/01 14:51
ていうか、それをダメとか言うつもりないけど、
なぜにここでシステム非依存なコードの書き方の
話題が出るのか、ちょっと不思議。
UNIX板ですよ? ;-)

486 :名無しさん@お腹いっぱい。:04/02/01 15:03
>>484
やっぱりそうですよね。
とするとなおさら Ruby 標準でそういうメソッドがあるといいなあ。

>>485
確かに・・・

487 :482:04/02/01 15:47
>>485
しかし互換性のあるメソッドが提供されたら絶対置き換えたいコードのひとつではある。

488 :名無しさん@お腹いっぱい。:04/02/04 21:37
getch() のエコーしない関数がANSI-C ライブラリ標準で
存在すれば楽なんですけどね…

489 :名無しさん@お腹いっぱい。:04/02/04 21:38
っと、ここはruby スレかw

490 :名無しさん@お腹いっぱい。:04/02/09 21:29
tail -f するのによさそうな方法 or ライブラリはありますか?

491 :名無しさん@お腹いっぱい。:04/02/09 21:41
ruby -e'IO.popen("tail -f #{ARGV[0]}") {|io| loop { print io.read(1) } }' /var/log/system.log

492 :名無しさん@お腹いっぱい。:04/02/09 22:32
>>491
ひえ〜。

それらしいの書いちゃいました。

class IO
def tail_f
pos = 0
Thread::new {
loop do
self.seek(0, IO::SEEK_END)
if pos != self.pos
self.pos = pos
data = self.read
pos = self.pos
yield data
end
sleep 1
end
}
end
end

File::open("/var/log/system.log").tail_f { |f|
p f
}.join

493 :名無しさん@お腹いっぱい。:04/02/10 12:32
loop {seek(0, SEEK_CUR); yield read; sleep 1}
で十分だろ。


494 :名無しさん@お腹いっぱい。:04/02/10 13:52
sleep 1なんて書いておいてよく「十分」などと言えたもんだね。

495 :名無しさん@お腹いっぱい。:04/02/10 13:56
まったくだ。「十分」ならsleep 600だろ。

496 :名無しさん@お腹いっぱい。:04/02/10 15:17
誰か言うと思った。

・・・俺じゃなくて良かった。

497 :名無しさん@お腹いっぱい。:04/02/12 23:34
http://www.lypanov.net/xml/development/rvsh.xml

498 :名無しさん@お腹いっぱい。:04/02/13 21:37
ワラタ > [ruby-core:02433]

499 :名無しさん@お腹いっぱい。:04/02/14 21:46
わしも食いっぱぐれそうになったら、
プライドを棄てて、適当な原稿を書いてみるかな。

いくら振り込まれるんだろ?

500 :名無しさん@お腹いっぱい。:04/02/14 22:19
>>499
何の話?

501 :名無しさん@お腹いっぱい。:04/02/15 00:13
>>500
[ruby-book:2437]

でも、知らなかった方が君のため。

502 :名無しさん@お腹いっぱい。:04/02/15 02:45
ruby-book なんてあったっけ?

503 :名無しさん@お腹いっぱい。:04/02/15 12:25
最初入ってたはずなんだけど、いつの間にか抜けていた。
よって差し支えない範囲で遺尿キボン>>501

504 :名無しさん@お腹いっぱい。:04/02/15 13:58
>>503

Subject: [RubyBook:2437] Re: 「家サーバ」をちょいと書いてみました其の四
Date: Sat, 14 Feb 2004 17:32:05 +0900
To: rubybook@freeml.com
Message-Id: <20040214173201.48C6.MASAO-K@a-net.email.ne.jp>

> 家サーバの原稿第4弾です。
> OSのインストールの前までの、「解説」の部分はこれでイケると思います。

これはこれとして。

> 独言:とうとう蓄えが無くなった…明日から生活どうしよう…

口座をDMで教えてください。すぐに振り込みます。


M.Kanemitsu


505 :名無しさん@お腹いっぱい。:04/02/15 14:07
ワロタ

506 :名無しさん@お腹いっぱい。:04/02/15 16:55
オレオレ。おれだけど、原稿書いた。
印税が入ったら倍返しするから振り込んどいて。口座はXXXね。


507 :名無しさん@お腹いっぱい。:04/02/17 14:35
ruby-dev
そろそろ鬱陶しくなってきたな。

508 :名無しさん@お腹いっぱい。:04/02/17 15:11
>>507
いいんじゃない。静か過ぎるよりは百万倍マシ。

509 :名無しさん@お腹いっぱい。:04/02/17 15:42
>>508
そうか、ワシも広い心を持たねば。
年を取っている割には心が狭くて、すまんな。

510 :名無しさん@お腹いっぱい。:04/02/17 17:10
あそこまで引っ張るほどのネタかな、とは思う。

511 :名無しさん@お腹いっぱい。:04/02/17 18:20
スマソ。

512 :名無しさん@お腹いっぱい。:04/02/17 22:47
どんまい

513 :482:04/02/18 00:58
学生さんなんですかねえ。

514 :名無しさん@お腹いっぱい。:04/02/18 08:59
なんか暇そうだもんね。そういう季節か。

515 :名無しさん@お腹いっぱい。:04/02/19 00:42
個人的にはにぎやかで良いと思うが。

516 :名無しさん@お腹いっぱい。:04/02/19 01:44
細かい仕様まできっちり考えるのは全然かまわんのだが、
もうちょっと考えてからメールを出して欲しいなあ。
あと、とっととテストを書いてほしい。

517 :名無しさん@お腹いっぱい。:04/02/19 07:56
>>516
確かにね。
ちょっと最近、これの影響で current を使う気が無くなってきてるし。

518 :名無しさん@お腹いっぱい。:04/02/19 08:34
興味のないメールは一瞥してから読み捨ててるんだけど、
メール数ばかり多いとスレッドごと捨てたくなっちゃう。
スレッドツリーが複雑になって追うのも大変だし。

30分〜1時間寝かせるだけできっともっとよくなるのにね。
もったいない。


519 :名無しさん@お腹いっぱい。:04/02/19 11:25
殆どチャット感覚だしな。

520 :名無しさん@お腹いっぱい。:04/02/19 22:14
まあ、「これからの成長を期待する」ということで。

521 :名無しさん@お腹いっぱい。:04/02/20 05:45
終了

522 :名無しさん@お腹いっぱい。:04/02/20 09:16
http://jarp.jin.gr.jp/diary/200402b.html#200402192
Parser だけど、内部のクラスを使えば生成も出来るはず。

って、何でここで突っ込む?

523 :名無しさん@お腹いっぱい。:04/02/20 13:38
close するの面倒。IO::read があるんだから、Kernel::read も用意しる。> open-uri

524 :名無しさん@お腹いっぱい。:04/02/20 14:03
File.open を書く癖があるから、 URI.openって書きたい。
class URI < IO も作ってくれないかなぁ。>open-uri

525 :名無しさん@お腹いっぱい。:04/02/20 14:33
なんで Tempfile#unlink は undocumented なのだ。
危うく車輪の再発明するところだった。

526 :名無しさん@お腹いっぱい。:04/02/20 22:31
そうか、StringIOを返すわけだから別にIOを継承しなくてもいいのか。

module URI
 def open(name, *rest, &block)
  URI.parse(name).open(*rest, &block)
 end
 module_function :open
end
こんなのを足すだけでよさそう。


527 :名無しさん@お腹いっぱい。:04/02/21 13:14
鬼車のsymbolのprefixが変わってよかったよかった。


528 :名無しさん@お腹いっぱい。:04/02/21 21:08
ROM に徹すること約 5 時間、か。

それはそうと、なぜ Dir はクラスメソッドにこだわるんだろ。

あと StringIO のリファレンスの更新キボン。内容古すぎです。
open-uri はむしろ close しちゃいけないんだと思ってた。

529 :名無しさん@お腹いっぱい。:04/02/21 22:06
>>528
> それはそうと、なぜ Dir はクラスメソッドにこだわるんだろ。
そうなん?


530 :名無しさん@お腹いっぱい。:04/02/22 01:44



531 :名無しさん@お腹いっぱい。:04/02/24 07:49
1.8ブランチに新しいメソッドを入れるのは止めて欲しいなあ。
もうそっちはバグフィックスだけだろう。

532 :名無しさん@お腹いっぱい。:04/02/24 08:03
なんのことか知らないけど、安定版の仕様変更のことなら同意。
require 'features/ruby18'
方式にして欲しい。


533 :名無しさん@お腹いっぱい。:04/02/24 08:56
標準添付した時点で負け。

534 :名無しさん@お腹いっぱい。:04/02/24 13:08
最近なんか入ったっけ。

535 :名無しさん@お腹いっぱい。:04/02/24 14:31
SUSv3 準拠化の影響は dirname だけじゃないのね。
考えれば当たり前だけど、気がつかなかった。

536 :名無しさん@お腹いっぱい。:04/02/24 19:50
>>531
どれのことかわからんけど、メソッドが消えるよりはマシだろう。
メソッド名を変えて元の名前を残さない、とかな。

537 :名無しさん@お腹いっぱい。:04/02/24 20:36
>>536
マシとか言う以前にアリエナイ。

538 :名無しさん@お腹いっぱい。:04/02/24 22:48
1.8.2 は出るんだったっけかな?

539 :名無しさん@お腹いっぱい。:04/02/24 23:39
>>536,537
それって某ライブラリのことですか?

540 :名無しさん@お腹いっぱい。:04/02/25 01:24
>>539
え、そんなのあるの?
……しらじらしすぎるか。

541 :名無しさん@お腹いっぱい。:04/02/25 01:27
素でわからん。orz

542 :名無しさん@お腹いっぱい。:04/02/25 03:19
びっぐでしまるのことかー!

>>538
そりゃ、いつかは出るんじゃない。
ゴールデンウィークあたりと予想してみる。

543 :名無しさん@お腹いっぱい。:04/02/25 06:23
標準添付になったからといって油断できない、
このドキドキ感がたまりません。

まるで、無理やり口説いて「つきあおっか」と言わせたものの
いつまで続くのかはわからない、そんな不安を悶々と抱えていた
瑞々しい青春の日々を思い出させてくます。

544 :名無しさん@お腹いっぱい。:04/02/25 06:28
標準≠添付

545 :名無しさん@お腹いっぱい。:04/02/25 09:29
1.8.2 があるんなら、メソッドが増えても構わないか。
(メソッドが消えるのは良くないのは当たり前)

なので、 >>531 は取り消す。勘違いした。すまない。

メソッドの有無ってのはクラスにとってのアイデンティティの一つでもあるわけだから、
stable では勝手に増やされても困るってのが私の考え。

でも 1.8.2 に向けての話なら、構わない。
ttp://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?cvsroot=src&r1=1.2673.2.150&r2=1.2673.2.151

546 :名無しさん@お腹いっぱい。:04/02/25 09:33
>>544
意訳すると
「『Ruby界で標準的に使われてるライブラリ群』と
『Ruby本体に(標準で)添付されてるライブラリ群』は
必ずしも一致しない」

「標準添付だからってよく使われてるとは限らねーぞ」
ってことでよろしい?

547 :名無しさん@お腹いっぱい。:04/02/25 10:41
>>546
リファレンスマニュアルによると、標準ライブラリと添付ライブラリは区別された
概念であるはずだ、という仮説。
なんで「仮説」なのかというと、Matzあるいはリファレンスマニュアル編集者が
そこまで深く考えてそう書いたかどうかが未検証のため。

548 :名無しさん@お腹いっぱい。:04/02/25 12:14
>>545
「stable では勝手に増やされても困る」と「1.8.2 に向けての話なら、構わない」とが
矛盾してない?

549 :名無しさん@お腹いっぱい。:04/02/25 12:46
>>548
「1.8.xはもう new feature は取り込まない(=stable/1.8.2は出さない) なら、
 勝手にメソッドを増やされては困るけど、
 1.8.2 に向けて new feature を取り込んでも良いのであれば、
 メソッドが増えても構わない」

という意味でした。



550 :546:04/02/25 14:33
>>547
ぜんぜん意を汲めなくてスマソ。
その「区別された概念」っていうのは、両者をどのように区別したものなのでしょう?

551 :名無しさん@お腹いっぱい。:04/02/25 15:15
>>539,542
斉藤さんでつか?

552 :名無しさん@お腹いっぱい。:04/02/25 16:13
>>550
Rubyという言語仕様の一部か、ただのおまけか。

553 :名無しさん@お腹いっぱい。:04/02/25 16:56
>>552
なるほど。開発者側がどこまでどの程度そう思っているかは興味深いかもしれない。
利用者から見れば「使えればみんな一緒」という感じだろうけれど。

554 :名無しさん@お腹いっぱい。:04/02/26 00:02
添付されたライブラリの作者にとっては
配布方法とリポジトリの場所が変わっただけではないかと。
文書やテストも書く人は書き、書かない人は書かないし。

555 :名無しさん@お腹いっぱい。:04/02/26 04:03
RDocがなぁ。

556 :名無しさん@お腹いっぱい。:04/02/26 09:32
標準添付ライブラリを書いているのにRDocを嫌がってる
人の方が不思議だ。世界中で使われてるんだからそのくらい
やる義務があると言っても過言ではあるまい。

557 :名無しさん@お腹いっぱい。:04/02/26 10:29
「義務」!
何か勘違いしてないか?

558 :名無しさん@お腹いっぱい。:04/02/26 10:33
>>556
義務なんてねーよ。
RDoc化する義務があると思うならお前が全部やって永久にそれをメンテしろ。

559 :名無しさん@お腹いっぱい。:04/02/26 11:19
>>556
何様のつもりだ?


560 :名無しさん@お腹いっぱい。:04/02/26 11:27
これから RDoc 化してやるぞという宣言か。
すばらしい。556 がんがれ。

561 :名無しさん@お腹いっぱい。:04/02/26 12:09
>>557-559
    \   ∩─ー、    ====
      \/ ● 、_ `ヽ   ======
      / \( ●  ● |つ
      |   X_入__ノ   ミ    こんな餌で俺がクマーーーーー!!
       、 (_/   ノ /⌒l
       /\___ノ゙_/  /  =====
       〈         __ノ  ====
       \ \_    \
        \___)     \   ======   (´⌒
           \   ___ \__  (´⌒;;(´⌒;;
             \___)___)(´;;⌒  (´⌒;; 
                          (´⌒; (´⌒;;


562 :名無しさん@お腹いっぱい。:04/02/26 12:14
Do or die!

563 :名無しさん@お腹いっぱい。:04/02/26 12:37
RDocもロクに使えないヘタレが逆ギレしているスレはここですか?


564 :名無しさん@お腹いっぱい。:04/02/26 12:58
実際には、RDocを使える人が、その上で文句を言ってるんだけどな。

565 :名無しさん@お腹いっぱい。:04/02/26 13:08
話をすり替えると言うより、逃げだな。
おうちでママのおっぱいでもすってな。

566 :565:04/02/26 13:12
おっと、561〜563(同一とみた)のぼうやに対して

567 :名無しさん@お腹いっぱい。:04/02/26 13:33
RDocってRDと違うの?

568 :名無しさん@お腹いっぱい。:04/02/26 13:47
>>564
何が不満なの?


569 :名無しさん@お腹いっぱい。:04/02/26 14:11
>>567
別。

RD http://www.rubyist.net/~rubikitch/RDP.cgi?cmd=view;name=RD
RDocはソースのlib/rdoc/READMEかな。

headingやunorderd listはどっちも = == や * だけど、ordered listはちょっ
と、labeled listはかなり違う。

>>1がRDの例。


570 :名無しさん@お腹いっぱい。:04/02/26 14:50
>>568
コードの中にドキュメントをコメントとして埋め込むことが嫌。

571 :名無しさん@お腹いっぱい。:04/02/26 15:23
>>570
ああ、そういう人結構いるよね。


572 :567:04/02/26 15:48
>>569
えっと、RDは知ってますというか、よく使ってるんですが、
RDocの方は知らなかったんです。

Rubyスクリプト等からドキュメントを生成するrdocってツールがあって
それが解釈するマークアップ形式がRDocという感じなのでしょうか?

最近はRDよりもRDoc推奨なんですか?

573 :名無しさん@お腹いっぱい。:04/02/26 16:31
>>572
そう。
RDoc推奨なのは、対象となるクラスやメソッドを勝手に探してくれるからかなぁ。

574 :名無しさん@お腹いっぱい。:04/02/26 19:55
んで、RDocのまとまった解説は
ttp://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=RDoc%B3%D0%A4%A8%BD%F1%A4%AD
くらいしかないんでしょうか。
あるいは、RDoc自体のRDocを参照、と。
>>570氏や「結構いるそういう人」が嫌うのは、ドキュメントがソース中に
分散されるから? ツール使えば一発でまとめられるんだろうから、それは違うか。

575 :名無しさん@お腹いっぱい。:04/02/26 20:10
そのコードをいじるときに、無駄なコメントがいっぱいあると邪魔なんだよ。
もちろん、使う人にとっては「無駄」じゃないんだろうってことはわかるんだけどな。

576 :名無しさん@お腹いっぱい。:04/02/26 20:13
Emacs使ってるならナローイングすればいいんじゃない?


577 :名無しさん@お腹いっぱい。:04/02/26 20:13
ソースの見通しが悪くなるから、に一票。

個人的には、エディタの機能で一時的に表示・非表示を切り換えられるのなら
そんなにイヤではないのかもしれない。

578 :名無しさん@お腹いっぱい。:04/02/26 20:19
むしろテストにドキュメントを埋め込むのはどうか、などと
適当なことを言ってみる。

579 :名無しさん@お腹いっぱい。:04/02/26 20:21
ドキュメントにプログラムのコードを埋め込む、ってそこまで行くとTeX
というかliterate programmingだな。


580 :名無しさん@お腹いっぱい。:04/02/26 20:30
>>578
うん。それもいいね。テスト自体仕様みたいなもんだし。
うまい人の Ruby プログラムは簡潔でめちゃ読みやすいから、
過剰なドキュメントで分断されるのはむしろ邪魔。


581 :名無しさん@お腹いっぱい。:04/02/26 21:56
コードの中のドキュメントより俺様流で書かれた出来の悪い
README や HTML が付いてる方がよほど嫌だ。
つーか言語の標準添付ライブラリにドキュメント書くのめんどくさがる
くらいなら、そんな奴のライブラリは標準添付しなくていいと思う。
ライブラリそのものも日本人以外に書かせた方がマシなものになるだろうし。

582 :名無しさん@お腹いっぱい。:04/02/26 22:52
>>581
ドキュメントはともかく、ソースコード自体に何人かは関係ないと思われ。

あんたが、その「出来の悪いもの」を直せばみんなから誉められるし、
直せないなら「口だけ」って言われるし、ただそれだけのこと。

583 :名無しさん@お腹いっぱい。:04/02/26 22:58
>>581
何の話をしているのかつかめない。

>コードの中のドキュメントより俺様流で書かれた出来の悪い
>README や HTML が付いてる方がよほど嫌だ。
ドキュメントの質が悪いのはイヤ、というのは同意。
で、
・コード中に書かれた(質のよい)ドキュメント
・README や HTMLとして付属してくる出来の悪いドキュメント
を比較しても意味がないと思う。

>つーか言語の標準添付ライブラリにドキュメント書くのめんどくさがる
>くらいなら、そんな奴のライブラリは標準添付しなくていいと思う。
いいライブラリで代替物がないのであれば、(ドキュメント書きの)
メンテナ付けて標準添付、って手もあるよね。ライセンスにもよるけど。

>ライブラリそのものも日本人以外に書かせた方がマシなものになるだろうし。
なんでここで日本人どうこうの話が出てくるのかわからない。


……オレが誤読してるのかな。
現在、標準添付されてる(特定の)ライブラリのことを指して言ってる?


584 :名無しさん@お腹いっぱい。:04/02/26 23:34
>>581
なんか破綻してないか?

>README や HTML が付いてる方がよほど嫌だ。
無いよりマシと思うが?

>つーか言語の標準添付ライブラリにドキュメント書くのめんどくさがる
>くらいなら、そんな奴のライブラリは標準添付しなくていいと思う。
「README や HTML」はドキュメントじゃないのか?
とすると、RDoc 以外はドキュメントとしてみとめないってことか?

で、多くのボランティアが足りないところを補い合って今の Ruby
が有るわけだ、グダグダ言ってないでおまえが書けや。
そういう気配を感じさせないおまえの発言は、Ruby を支えている
彼らに対して失礼じゃないか?


585 :名無しさん@お腹いっぱい。:04/02/27 00:57
>>581 が matz 氏だと想像してみる。

586 :名無しさん@お腹いっぱい。:04/02/27 01:28
>>585
README.EXT.ja はましなドキュメントだと?

587 :名無しさん@お腹いっぱい。:04/02/27 01:34
>>581
たしかにあいつら英語はうまいよなあ。

588 :名無しさん@お腹いっぱい。:04/02/27 10:13
>>586
あれがあるのとないのとでは全然違う。
というわけで、ないよりはまし。

>>587
いやそうと限らず……。

589 :名無しさん@お腹いっぱい。:04/02/27 14:33
>>585
本当は誰かうすうすわかってるくせに…

590 :名無しさん@お腹いっぱい。:04/02/27 16:49
smalltalkそっくりだなrubyって

591 :名無しさん@お腹いっぱい。:04/02/27 16:56
>>590
それはほめ言葉?

592 :名無しさん@お腹いっぱい。:04/02/28 12:02
lispそっくりだなrubyって


593 :名無しさん@お腹いっぱい。:04/02/28 15:24
>>592
あんなユーザビリティの悪いものと一緒にしないでください

594 :名無しさん@お腹いっぱい。:04/02/28 15:26
593(w

595 :名無しさん@お腹いっぱい。:04/02/28 15:49
lisp はクソだけどメソッドコンビネーションはしっかりとパクリスペクトさせていただきマス

596 :名無しさん@お腹いっぱい。:04/02/28 16:23
メソッドコンビネーションってどんなの?

597 :名無しさん@お腹いっぱい。:04/02/28 17:09
basicそっくりだなrubyって

598 :名無しさん@お腹いっぱい。:04/02/28 17:14
>>597
お前「そっくり」って言いたいだけちゃうんかと。


599 :名無しさん@お腹いっぱい。:04/02/28 17:19
597と592は似てない。


600 :名無しさん@お腹いっぱい。:04/02/28 17:36
>>596
はるか昔,括弧の国の Lisp という言語の標準に一緒に入った機能で
既存のメソッドをコールする時に処理を追加できる.
:before であるメソッドが呼ばれる前にメソッドを追加できるし
:after であるメソッドが呼ばれた後にメソッドを追加できるし,
:around で既存のメソッドコールを包み込めるし,
ついでにこのメソッドコンビネーション自体がプログラマブルという
ナイスな機能だ.

601 :名無しさん@お腹いっぱい。:04/02/28 17:38
>>600
アスペクト指向みたいなかんじでつか。

602 :名無しさん@お腹いっぱい。:04/02/28 21:34
>>601
それはコンビネーションのつかいみちのひとつなんじゃないの?

603 :名無しさん@お腹いっぱい。:04/02/29 03:40
>>600
rubyにそんなの入ってたっけ。

604 :名無しさん@お腹いっぱい。:04/02/29 05:15
>>603
matzいわくRuby2に入るらしい。

605 :名無しさん@お腹いっぱい。:04/02/29 08:01
http://www.rubygarden.org/ruby?Rite
の Hooks の項参照。

606 :名無しさん@お腹いっぱい。:04/02/29 13:19
>>603
ユーザビリティ最悪なうえに 20 年前のポンコツ規格の駄目言語からでも
リスペクトすべきところはしっかりリスペクトするんだよ。LISP 信者が
「俺たちは20年前から実現してたぞ!」などと負け惜しみをいいつつ
悔しがる様子が目に浮かぶ。ゲラゲラ。

607 :名無しさん@お腹いっぱい。:04/02/29 13:50
厨は花粉とともに

608 :名無しさん@お腹いっぱい。:04/02/29 14:56
AspectR みたいに hook を外したりはできないのかな?
foo:xxx を undefine するか、空の foo:xxx を再定義すればいいのかな?

609 :名無しさん@お腹いっぱい。:04/02/29 16:48
>>608
hook外し機能も必要だけど、再定義で上書きさたらあんまりうれしくないような。
何重にでも重ねたい時があるだろうし。
……それともfoo:before:before とかも定義できる?

あとは以前にも(別スレで?)出てたけど、
・foo:around で super よばなかったらどうなるか
・foo:around で foo の super 呼び出しはどうやるのか
あたりが気になる。

610 :名無しさん@お腹いっぱい。:04/02/29 17:23
鼻フック


611 :名無しさん@お腹いっぱい。:04/02/29 20:17
>>600
この自意識過剰の LISP 厨が!誰が LISP みてーなポンコツからパクるって
んだよ。良く見ろ!てめーらは :before だの :after だのいちいち長ったらしいんだよ。
クソが! Ruby ではスマートにシンプルに :pre :post :wrap コレ。コレ最強!
キーワード引数だって別にパクったわけじゃねーよ。さすが Ruby。Ruby 最高!

612 :名無しさん@お腹いっぱい。:04/02/29 20:33
どうやらlispというキーワードで反lisp厨のスイッチが入った模様です。


613 :名無しさん@お腹いっぱい。:04/02/29 21:08
611は括弧の国の Lispという加齢臭漂う表現に反応したの


614 :名無しさん@お腹いっぱい。:04/02/29 21:11
>>609
たぶんその辺はまだ何にも考えられてないので、
ここらできっちり議論しておくと、
小人さんが ruby-(dev|core) に届けてくれることでしょう。

615 :名無しさん@お腹いっぱい。:04/02/29 21:51
>>614
wiki じゃないんだから小人と呼ぶのは酷いと思われ。

616 :名無しさん@お腹いっぱい。:04/02/29 22:03
なんで人様を小人呼ばわりするような香具師に踊らされて実名晒して
MLに届けなきゃいけないのかと小一時間(ry

617 :名無しさん@お腹いっぱい。:04/02/29 22:05
大人 385円
中人 170円
小人  70円


618 :名無しさん@お腹いっぱい。:04/02/29 22:14
とりあえず次期 Ruby は最高って事でいいんだな。マンセー。

619 :名無しさん@お腹いっぱい。:04/02/29 23:02
>>616
>>614 は謙遜して「小人さん」と言っています。

620 :名無しさん@お腹いっぱい。:04/03/01 08:54
http://www.dm4lab.to/~usa/ruby/d/200402c.html#id20040229_P1
「だめぽ」とか「よさげ」とか「よろー」を使うのなら、「〜を嫁」も使ってほしかったな。

というわけで、グッジョブ!

621 :名無しさん@お腹いっぱい。:04/03/01 10:26
>>620
「嫁」は一般人向けに後で書き直したんだよもん。

622 :名無しさん@お腹いっぱい。:04/03/01 12:53
>>621
なるペソ。

623 :名無しさん@お腹いっぱい。:04/03/02 00:48
FreeRIDEが新しくなったようですよ。

かなり使い心地よさげ。
色付けもしっかりしてるように感じられます。

個人的には、emacsのelispの代わりにRubyを使ってるようなのが欲しいのですが
だれか作ってくれないかなぁ。

624 :名無しさん@お腹いっぱい。:04/03/02 01:07
vim + ruby とか mine とか rxsh とか・・・

625 :名無しさん@お腹いっぱい。:04/03/02 01:31
そういえば、Ruby 製の vim クローンあったね。

626 :名無しさん@お腹いっぱい。:04/03/02 01:41
>FreeRIDE
DelphiのTEditorみたいな感じで
エディタ部分だけ簡単に使えるようにしてほしいな。


プログラミングが本職じゃない俺みたいな人間には、
ソースを読んで必要箇所を見つけるっていう作業が
とても面倒なわけなんだな。

627 :名無しさん@お腹いっぱい。:04/03/02 05:14
>>626
変更箇所を見つけなくてもいいってどういうこと???


628 :名無しさん@お腹いっぱい。:04/03/02 14:25
キャラクタベースの UI を実装するのには、
Curses, ncurses-ruby, Ruby/Newt, ruby-Lang, JTTui, ...,
などがあるようですが、どれを選択するのがおすすめでしょうか?
また、他にこういうのがあるよ、というのがあればよろしくです。

# raa のカテゴリだと「Library / TUI」に相当するようですが、
# 「TUI」って一般的な用語なんでしょうか?

629 :名無しさん@お腹いっぱい。:04/03/02 18:37
>>628
自分の目的・条件を何にも言わずに「どれがいいですか?」って…。

# TUIがどれほど一般的か知らないけど、ネイティブにCUIといっても通じないのは事実。

630 :名無しさん@お腹いっぱい。:04/03/02 22:13
>>628
cursesはRuby本体ついてくるから別途インスコしなくていい分ラク。
……とか月並の意見しか言えない

>>623
よく知らんけど、Ruby/Jedってどうなってるんだろ。

631 :名無しさん@お腹いっぱい。:04/03/02 22:26
>>626
エディタ部分は FXScintilla という エディタコンポーネントの Scintilla を
Fox にポートしたものを使ってる。

632 :名無しさん@お腹いっぱい。:04/03/03 00:00
Ruby/GtkSourceViewなんかどうよ?
まだ取り込まれていないけどruby.langもGNOME Bugzillaに登録されてるし。


633 :名無しさん@お腹いっぱい。:04/03/03 06:12
>>631
これか。。
http://www.eng.cse.dmu.ac.uk/~hgs/ruby/FXRuby/api/classes/Fox/FXScintilla.html

634 :名無しさん@お腹いっぱい。:04/03/03 09:56
web siteはこっちね。
http://www.nongnu.org/fxscintilla/


635 :名無しさん@お腹いっぱい。:04/03/03 22:56
誰か偉い人、
ttp://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?cvsroot=src&r1=1.3010&r2=1.3011
の「new method」がなんの役に立つのか、分かりやすく説明してください。

批判とかじゃなくて、単に分からんだけなのです。

636 :名無しさん@お腹いっぱい。:04/03/03 23:36
>>635
http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs-2004-03-03#a135532
これか。
すぐには使い道は思い浮かばないけど、なんかヘソタイな利用方法が
ありそうだな<Hashのキーに Proc類


637 :名無しさん@お腹いっぱい。:04/03/03 23:48
Kernel#caller が String の配列を返すのが不思議なんだけど、
なんで String なの?

メソッド知りたい時に、リファレンスにある
 def parse_caller(at)
  if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
   file = $1
   line = $2.to_i
   method = $3
   [file, line, method]
  end
 end
みたいなコードを書かなきゃいけないのが気持ち悪い。

最初から file, line, method メソッドを持ったオブジェクトにすればいいのに。
# 互換性は to_str なり to_s を定義しとけばなんとかなる?

638 :名無しさん@お腹いっぱい。:04/03/04 01:39
あんまり使って欲しくないので使いづらくしているのかもね。

639 :名無しさん@お腹いっぱい。:04/03/04 10:49
>>637
昔からStackFrameとかいろいろ提言はされてるけどな。

640 :名無しさん@お腹いっぱい。:04/03/04 10:50
>>636
ずれとるYO。
http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs-2004-03-03#a135535


641 :名無しさん@お腹いっぱい。:04/03/05 03:04
ム板で ruby は変態文法だって言われてますた


642 :名無しさん@お腹いっぱい。:04/03/05 08:19
ム板の話を持ち込まんでよろしい。

643 :名無しさん@お腹いっぱい。:04/03/05 14:19
>>641
ここでも ruby は変態文法だって言われたいのか?

644 :名無しさん@お腹いっぱい。:04/03/05 14:29
(‘ ε ’)「変態は誉め言葉モナ」

645 :名無しさん@お腹いっぱい。:04/03/05 15:07
あ〜ん、もっと責めて

646 :名無しさん@お腹いっぱい。:04/03/05 16:26
Debian だと ruby 1.8 だけ入れても erb とか入らないのね

647 :名無しさん@お腹いっぱい。:04/03/05 22:04
青木さんのメールでようやく File.fnmatch の話が分かるようになってきました。

648 :名無しさん@お腹いっぱい。:04/03/05 23:27
最近、HEADを make すると、

make: don't know how to make ./miniruby. Stop in /path/to/src/ruby.
gcc -g -O2 -I. -I. -c array.c
gcc -g -O2 -I. -I. -c bignum.c
gcc -g -O2 -I. -I. -c class.c
...

って出てくるけど、最初の行は気にしなくていいよね?
クロスコンパイルとかじゃなくて、普通に ./configure; make やっているだけだけど。

649 :名無しさん@お腹いっぱい。:04/03/06 19:24
[ruby-dev:23148]の話?

650 :名無しさん@お腹いっぱい。:04/03/06 22:23
>>649
ども。たぶん同じ話でした。

651 :名無しさん@お腹いっぱい。:04/03/08 07:50
>>643
どうして変態と言われるんだろう。
PythonやPerlよりは綺麗だと思うのだが、いろんな見方があるもんだな。


652 :名無しさん@お腹いっぱい。:04/03/08 10:19
>>651
あっちでやれよ、と言いたいところだが釣られてみると、文終端の判定や
()の省略ルールなどが変態なわけだ。
素直に文終端記号( ; など)を導入するとか、()が省略できるパターンを
明確にしておいたほうがよかったかもね。

653 :名無しさん@お腹いっぱい。:04/03/08 12:07
例え変態といわれようと、;なんてなくて良かった。

654 :名無しさん@お腹いっぱい。:04/03/08 12:32
>>653
わしも同意。; は要らない。

括弧の省略は無くてもいいけど、やっぱりあったほうが便利だわな。
あと、多重代入とかの解釈が気になる。わしは覚えられないので、ごく単純な場合にしか使わんが。

655 :名無しさん@お腹いっぱい。:04/03/08 20:35
ruby-intlってまだメンテナンスされてる?
実はapt-listbugsがこれを使ってたりするのだが。


656 :名無しさん@お腹いっぱい。:04/03/08 21:11
*が演算子だったりすると変態。

657 :名無しさん@お腹いっぱい。:04/03/08 21:29
cvs HEAD とはいえ、いつまでも make test-all が通らないままにしてほしくないな。
何のための UnitTest なんだか。

仕様が変わったんなら、先にテストを直したらいいのに。

658 :名無しさん@お腹いっぱい。:04/03/08 21:35
>>656
単項ってことなら左辺で使えないから無理ぽ

659 :名無しさん@お腹いっぱい。:04/03/08 22:18
>>657
ぜひruby-devやruby-coreで言ってやってください。

660 :名無しさん@お腹いっぱい。:04/03/09 14:33
http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=FreeBSD
最近はデフォルトが RUBY_VER=1.8 になってたりしますか?

661 :名無しさん@お腹いっぱい。:04/03/09 15:30
>>660
[FreeBSD-users-jp 78437] ruby version depended another ports
をどっかから探してきて嫁。

662 :名無しさん@お腹いっぱい。:04/03/09 16:09
>>661
ありがとうございます。早速読みました。
/usr/ports/UPDATING なんてのがあったんですね。

ところで、「ruby 1.6 は i386 でしか幸せになれないということで」、
と発言されている方がいますが、これはどういう意味なんでしょう?
i386 だと 1.6 のままの方が良い?

663 :名無しさん@お腹いっぱい。:04/03/10 01:02
いつまでたっても make test-all は通らんな。

664 :名無しさん@お腹いっぱい。:04/03/11 00:53
cvs HEAD の話。

http://www.dm4lab.to/~usa/ruby/d/200403a.html#id20040310_P2
私の場合はいつも make test-all && make install しているわけだが、今日はそれが通らずに([BUG]となる)
make install; make test-all して通るようになった。

1418 tests, 9584 assertions, 5 failures, 1 errors
だった。drb 関連の failures が減って、代わりに

test_break__nested_loop3(TestIterator)
test_break_from_enum(TestIterator)

が新たに failure となった。


665 :名無しさん@お腹いっぱい。:04/03/11 09:42
[BUG]について語りたいならruby -vの結果くらいは示せよ。

666 :名無しさん@お腹いっぱい。:04/03/11 10:42
>>665
いえ、[BUG] についてではなく、残っている failure について語りたいのです。
([BUG] は単に、make test-all を先にしてしまったからです)



667 :名無しさん@お腹いっぱい。:04/03/11 12:08
ttp://www.dm4lab.to/~usa/ruby/d/200403a.html#id20040310_P1

これってC++が絡んでも結論は変わらない?


668 :名無しさん@お腹いっぱい。:04/03/11 12:17
>>667
変わらない。

C++で書かれたサードパーティー製のライブラリ(DLL)があって、それは
VC++でもMinGWでもコンパイルできるとする。
そのライブラリに対するRubyバインディングとして拡張ライブラリを作ったとして、
VC++版のサードパーティ製ライブラリに対して作成した拡張ライブラリが
MinGW版のサードパーティ製ライブラリと一緒に使えるかどうか、となると、
使えないかもしれない。
でもこのパターンはRubyと関係ないやね。

669 :667:04/03/11 12:40
>>668
なるほど。勉強になりますた。

670 :名無しさん@お腹いっぱい。:04/03/12 10:39
スクリプト言語AIR
ttp://www.rubyist.net/~matz/20040309.html#p02

> 言語仕様を見てみると、パターンマッチなしのAWKみたい。

パターンマッチのないAWKなんて…

671 :名無しさん@お腹いっぱい。:04/03/12 11:29
>>670
ム板にスレが…
スクリプト言語Air
http://pc2.2ch.net/test/read.cgi/tech/1079015351/

パターンマッチはあるようだ
"/pattern/" =~ str
正規表現の作成が"/"で囲む、というのが変態じみているが
regex = "/" + substring + "/"
if(regex =~ str){ ... }


672 :sage:04/03/12 19:25
>>662
sparc64, ia32等の環境でruby1.6で動かないと思われ。

673 :名無しさん@お腹いっぱい。:04/03/12 21:20
ia32は動くよ、いくらなんでも。
ia64の間違いだよね。

674 :名無しさん@お腹いっぱい。:04/03/19 02:46
昨日の変更で、CVS HEAD の Failure がひとつだけになりました(それまでは最近は4つだった)。

1) Failure:
test_range_cycle(YAML_Unit_Tests) [./yaml/test_yaml.rb:1214]:
<"0".."1"> expected but was
<0..1>.

1418 tests, 9595 assertions, 1 failures, 0 errors


675 :名無しさん@お腹いっぱい。:04/03/19 08:56
パターンマッチなしのPERLみたいな新言語を作ろうと思う

676 :名無しさん@お腹いっぱい。:04/03/19 13:37
>>675
どうぞ、そうしてください。

677 :名無しさん@お腹いっぱい。:04/03/19 15:09
やれやれ

678 :名無しさん@お腹いっぱい。:04/03/19 15:17
>>675
続きは厶板の適切なスレか新スレ立てる方向でよろしく。

679 :名無しさん@お腹いっぱい。:04/03/20 20:34
>パターンマッチなし

パターンマッチ無しのスクリプト言語なんて意味あるのか

680 :名無しさん@お腹いっぱい。:04/03/21 00:28
>>679
まあ、作る本人にだけ意味のある言語ってのもアリなのではないかと。

数字しか扱えない言語とか、条件分岐が出来ない言語とか、
他の人にはまったく意味の無い言語でも、作った本人が意味があればそれでいいのでは。

681 :名無しさん@お腹いっぱい。:04/03/21 13:47
>>680
いいこといった。名づけてジコマン言語。自分が神になれる言語。
そのジコマンを洗練させていけば、いつかみんなが共感してくれるかも。

682 :名無しさん@お腹いっぱい。:04/03/21 15:10
ruby は普通に使ってますが、

method(**{a=>b, c=>d})

って、何だ? って感じです。

method(a, b, c, d)

と同じってこと?

683 :名無しさん@お腹いっぱい。:04/03/21 15:26
method(**{a=>b, c=>d})

method(**{c=>d, a=>b})
は同じで、

method(a, b, c, d)

method(c, d, a, b)
は違う、というようになるのでは。


684 :名無しさん@お腹いっぱい。:04/03/21 15:38
>>683
ごめんなさい、全然分かりません。

そもそも method(**{a=>b, c=>d}) の引数がどのようになるのかが
まったくわかんないのです。

> method(**{a=>b, c=>d})
> と
> method(**{c=>d, a=>b})
> は同じで、

っていうことは、

def method(a,b)
p a
p b
end

なら、どちらも同じ結果なの?

685 :名無しさん@お腹いっぱい。:04/03/21 15:48
>>681
matz氏はNHK(クローズアップ現代)に出た時もその他いろんな場所でも、そう強調してるよね。
「Rubyは、技術者としての自分が納得するため、自分のために作った言語だ」ってような話。

ただ世界には、言語処理系専攻の学生が卒論(修論/博論)のためのみに作り、そして洗練されずに終わる悪い意味でのジコマン言語が日夜、作り続けられてる…。
それが勉強の一環だから、>>680氏の言う「作る本人にだけ意味のある言語」でもまーしょうがないかな、と。

>>682
1.6.2 (2000-12-25) でも 1.8.1 (2003-12-25) でも 1.9.0 (2004-03-20) でも、「{」で syntax error になりますよ。
(一度変数に代入してからなら違いますが)

686 :名無しさん@お腹いっぱい。:04/03/21 15:50
>>684
ていうか、うだうだ言って他人に世話してもらうより、自分でirb使った方が圧倒的に早いんじゃ。

687 :名無しさん@お腹いっぱい。:04/03/21 16:02
>>686
そうですね。

>> a = *{1=>2, 3=>4}
=> [[1, 2], [3, 4]]
>> b, c = *a
=> [[1, 2], [3, 4]]
>> b
=> [1, 2]
>> c
=> [3, 4]

つまり、こういうことか。

今まで
method(a=>b, c=>d)
は、
method({a=>b, c=>d})
と同じ。

将来的には
method(a=>b, c=>d)
は、
method(*[[a, b], [c, d]])
と同じ。




688 :名無しさん@お腹いっぱい。:04/03/21 16:16
def m(*a); p *a; end

m({:a=>1})
m(:a=>1)
m({:a=>1,:b=>2})
はもちろん
m({a:1})
がOKになったのに
m(a:1)
m(a:1,b:2)
m({a:1,b:2})
はエラーだ…

# ていうかmatz氏は、[Ruby2]な仕様を1.9で入れちゃうわけね(もちろんVM周り以外だろうけど)。

689 :名無しさん@お腹いっぱい。:04/03/21 16:18
>>687
何故にそういう結論が出るの?

690 :名無しさん@お腹いっぱい。:04/03/21 18:20
>ていうかmatz氏は、[Ruby2]な仕様を1.9で入れちゃうわけね

1.9 ってそのためにあるんじゃないの? と思ってたけど違う?

691 :689:04/03/21 19:29
すまんかった、Matzにっき見てなかった。orz

692 :名無しさん@お腹いっぱい。:04/03/21 22:32
>>690
1.9って1.9.0が開発版、1.9.1以降が安定板リリースにする、ていうのじゃなかったでしたっけ?
もしそうだとしたら、2.0.0の開発版で入れればいいじゃん、と思ってたっす。

693 :名無しさん@お腹いっぱい。:04/03/21 22:47
>>689
違いましたか?
どう違うのかご指摘ください。これ以上は私には思いつかなかったです。

694 :名無しさん@お腹いっぱい。:04/03/21 23:20
>>692
> 1.9って1.9.0が開発版、1.9.1以降が安定板リリースにする
それ本当?素直に安定版を1.10とすればいいのに…


695 :名無しさん@お腹いっぱい。:04/03/22 00:03
Ruby って 9.9.9 で打ち止めなの?

696 :689:04/03/22 00:28
>>693
分かり辛くてごめんなさい。>>691に書いた通りです。すんません。

697 :名無しさん@お腹いっぱい。:04/03/22 01:07
>>694
本当。
なお、Rubyのmajor,minor,teenyはそれぞれ二桁以上になることはない、と
宣言されている。

>>695
今のリリースのペースだと、9.9.9に行くまでにMatz版Rubyの開発は終了
するだろうね。

698 :名無しさん@お腹いっぱい。:04/03/22 01:12
>>692
1.9系は2.0系に向けての文法仕様の確認を兼ねているので。
ま、リリースしないと誰も使わないから、文法の変更がどれくらい影響を与えるかを
確認するには安定版のふりをしてリリースするしかないという気はする。

Matz自身は、1.9系は世間的に広く使われるバージョンにはならないだろう、と
言っていたと思った。

699 :名無しさん@お腹いっぱい。:04/03/22 19:37
FreeBSD ports の ruby-date2 って無くなっちゃったのか。
date/holiday が無くなっちゃって悲しい。

700 :名無しさん@お腹いっぱい。:04/03/23 13:52
>>697
> なお、Rubyのmajor,minor,teenyはそれぞれ二桁以上になることはない、と
> 宣言されている。
16進数だったりしてな。

701 :名無しさん@お腹いっぱい。:04/03/23 15:16
>>700
RUBY_VERSION >= '1.8.1' で検査できることが目的(の一つ)だから36進数かもしれんぞ。

702 :名無しさん@お腹いっぱい。:04/03/24 01:49
>>701
'z.z.z'っていうのもありえるけど、そのときはMatzは300歳ほどかな。

703 :名無しさん@お腹いっぱい。:04/03/24 08:41
>>702
マイナーバージョン(真ん中の数字)がひとつ上がるのに4年くらいかかってるんだから、
300歳になっても数字の範囲は出ないと思われ。

704 :名無しさん@お腹いっぱい。:04/04/03 10:31
>>674
で、これっていつ直るの?

705 :名無しさん@お腹いっぱい。:04/04/03 20:59
ask why.

706 :名無しさん@お腹いっぱい。:04/04/03 21:02
YAMLの話は、実装のバグというより、仕様のバグのような気が。
数字のリテラルと、数字の文字列のリテラルを区別してないあたりが。

707 :名無しさん@お腹いっぱい。:04/04/05 14:16
>>706
YAML::load のバグのような気がする。

yaml/rubytypes.rb の Range#is_complex_yaml? の、

if String === val and val =~ /^(.*[^.])(\.{2,3})([^.].*)$/
r1, rdots, r2 = $1, $2, $3

で、 r1 と r2 が "\"0\"" と "\"1\"" のままになってるけど、
"0" と "1" にする処理が要るはずなのに抜けてる。

708 :名無しさん@お腹いっぱい。:04/04/06 02:26
>>707
よくわからんが直してよし。

709 :名無しさん@お腹いっぱい。:04/04/06 11:03
>>707
そう単純じゃない。
$ ruby -ryaml -e 'p YAML.load(("a..b".."a..c").to_yaml)'
"a..b..a".."c"
という風に、ちゃんとexprをパーズしないといけないところで手を抜いてるとか、
いろいろある。

710 :名無しさん@お腹いっぱい。:04/04/06 12:05
>>709
なんでもいいが、英語で ruby-talk に言ってやれ。
そうすりゃ、_why も真剣になるだろ。

711 :名無しさん@お腹いっぱい。:04/04/06 12:49
>>710
-coreでも-talkでもとっくに報告済み。

712 :名無しさん@お腹いっぱい。:04/04/13 15:59
メソッドの引数の記号がよくわかりません。
**とか、ハッシュでない(?)({}でくくってない)のに、=>を使ったりとか。。
そのため
>>683-688
で何をやってるかよくわかりません。

どこか、いいページはないでしょうか?

713 :名無しさん@お腹いっぱい。:04/04/13 16:17
selfというのが必要な理由がわかりません。

「たのしい Ruby」 では、selfの仕様例として
次のような例を挙げています。

class String
def count_word
ary = self.split(/\s+/)
return ary.size
end
end

str = "Just another ruby newbie"
p str.count_word
=> 4

でも、この3行目の self.split(/\s+/)って
単に split(\s+) でもいいですよね。

どういう時に、selfが絶対必要になるんでしょうか?

714 :713の訂正:04/04/13 16:19
3行目、使用例 に訂正
18行目、単にsplit(/\s+/)でもいいですよね に訂正(スラッシュ忘れた)

715 :名無しさん@お腹いっぱい。:04/04/13 16:25
>>712
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%A5%E1%A5%BD%A5%C3%A5%C9%B8%C6%A4%D3%BD%D0%A4%B7

ハッシュの話は載っていないな。
foo(1, 'bbr'=>2) は foo(1, {'bar'=>2}) と同じ扱い。
けど、これは将来廃止されるので(そうだよね?)、使わないほうが良い。

** というのは、現在は存在しない記法。
意味的に
bar = *[]
foo(*bar)
ということの様子。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=FAQ%3A%3A%CA%D1%BF%F4%A1%A2%C4%EA%BF%F4%A1%A2%B0%FA%BF%F4#a2.2e8.20.2a.a4.ac.a4.c4.a4.a4.a4.bf.b0.fa.bf.f4.a4.cf.b2.bf.a4.c7.a4.b9.a4.ab


716 :名無しさん@お腹いっぱい。:04/04/13 16:34
>>713
> でも、この3行目の self.split(/\s+/)って
> 単に split(/\s+/) でもいいですよね。

その通り。

> どういう時に、selfが絶対必要になるんでしょうか?

えーっと、どっかにそんな話の一覧があったような気がしますが、
わたしの覚えている範囲では以下の通り。

そのメソッド内に、他のインスタンスメソッドと同じ名前のローカル変数を
設定してしまったとき
class A
def b; puts 'A#b'; end
def c; b = nil; b; end
def d; b = nil; b(); end
def e; b = nil; self.b; end
end
A.new.c
A.new.d
A.new.e

代入形式のインスタンスメソッドを呼びたいとき
class A
def b=(val); puts val; end
def c; b = 'A#c'; end
def d; self.b = 'A#d'; end
end
A.new.c
A.new.d

717 :名無しさん@お腹いっぱい。:04/04/13 16:36
>>715
ありがとうございます。
でもこれって、どう便利なんでしょうか?
あまり便利な時が思いつきません。

718 :名無しさん@お腹いっぱい。:04/04/13 16:50
>>716
予約語と同じ名前のメソッドを呼びたいとき、
というのもあるね。self.class とか。


719 :名無しさん@お腹いっぱい。:04/04/13 17:12
こういうのは self 無しで書ける?
class String; def quote; "[#{self}]"; end; end
class Integer; def succ; self + 1; end; end

720 :名無しさん@お腹いっぱい。:04/04/13 17:12
self が必要なケースと言えば return value に使うとか。

class C
 def foo
  #何かする
  self  # <- ここ
 end

 def bar
  #何かする
 end
end

で、C.new.foo.bar みたいな。


個人的には「ローカル変数じゃなくて、引数ナシのメソッド呼び出しなんだ!」と
強張したい時は、同名のローカル変数を定義してなくても self.foo と書いたりする。


721 :名無しさん@お腹いっぱい。:04/04/13 17:16
>>717
これって、どれ?

ハッシュ形式のほうは、引数を「順番」ではなく、タグ(キーワード)で設定したいときに
便利だよね。

* の方は、可変長の引数をあらかじめ生成したいときに便利だよね。
args = []
while '何かの条件'
args << '何かを何回か加える'
end
# 最後にひとつのメソッドで呼ぶ
foo(*args)


722 :名無しさん@お腹いっぱい。:04/04/13 17:23
>>719
class String; def quote; "[#{to_s}]"; end; end
class Integer; def succ; to_i + 1; end; end

そういう意味じゃないってことは、よく分かってるよ。

723 :719:04/04/13 17:32
>>722
がーん。まあ、できるかできないかで言えば、できるか。

class String; def quote; "[" + __send__(:+, "]"); end; end
class Integer; def succ; __send__(:+, 1); end; end

でも、関数形式じゃないのを self 使わずに書くのはかなり嫌だ。

724 :名無しさん@お腹いっぱい。:04/04/13 17:48
確かに to_i ってのは結構どきっとするな

725 :名無しさん@お腹いっぱい。:04/04/14 11:59
演算子は self なしで呼び出せないと思われ。
self["str"] とかはよくやるし。

726 :719:04/04/14 13:07
>>725
んなこたあないよ。
class Hash; def str; __send__(:[], "str"); end; end

727 :名無しさん@お腹いっぱい。:04/04/14 22:36
>>726
なるほど、その手があった。やりたくないけどw

728 :名無しさん@お腹いっぱい。:04/04/14 23:20
rb_hash_aset()にはHash#[]=の他にHash#storeっていう別名があるのに、rb_hash_aref()にはHash#[]しかないのはなぜ?

729 :初心者:04/04/15 00:17
私も、*による展開について理解できません。
1)
a , b = 1 , *[2,3]
p a => 1
p b => 2
2)
b = *[2,3]
p b => [2,3]

なぜ、2)はp b => 2にならないんでしょうか?

730 :名無しさん@お腹いっぱい。:04/04/15 00:23
b, = *[2,3]
p b => 2

731 :名無しさん@お腹いっぱい。:04/04/15 00:39
>>729
多重代入、難しいね。わたしは滅多に使わないようにしている。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%B1%E9%BB%BB%BB%D2%BC%B0#a.c2.bf.bd.c5.c2.e5.c6.fe

732 :名無しさん@お腹いっぱい。:04/04/15 01:20
そういや matz 日記で見た
x, *xs = *list
ってのにびっくりしたな

733 :名無しさん@お腹いっぱい。:04/04/20 21:59
ひさしぶりに金光タソが投稿してるな。

734 :名無しさん@お腹いっぱい。:04/04/20 22:06
おお久しぶりだーと思ったら、何あれ?

735 :名無しさん@お腹いっぱい。:04/04/21 02:45
多重代入の時

a , b = *[ 2 , 3 ]

とすると、
右辺の*って要らない気がするんですが
上のレスみてると、みんなつけてますよね。

これって作法ですか?

736 :名無しさん@お腹いっぱい。:04/04/21 15:23
>>735
まず結論から言うと、「*」を付けるほうが「正しい」。
本来、理想的な多重代入の仕様からすると、両辺の
リスト要素が文法的に同じ数でないといけない。

a, b = 1, 2
p a # 1
p b # 2

従って右辺が配列のとき (文法的には要素一つ) は
「*」を付けて展開するのが「正しい」。

list = [1,2]
a, b = *list
p a # 1
p b # 2

では現在 a, b = list で a=1; b=2 になるのはなぜかと
言うと互換性のため。将来 (早ければ 1.9) には通らなく
なる可能性が高い。


737 :名無しさん@お腹いっぱい。:04/04/21 22:53
>>735
明解な説明ありがとうございました。
なるほどです。

738 :sage:04/04/26 00:14
>>736
論拠は?

739 :738:04/04/26 00:16
あげてもた
すまそ

740 :名無しさん@お腹いっぱい。:04/04/26 11:10
>>738
ruby-dev

152 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)