[#8985] file editing using Regular Expression — Ryo HAYASAKA <hayasaka@...>
早坂@会津大学です。
わたなべです.
早坂@会津大学です。
わたなべです.
From: WATANABE Hirofumi <watanabe@ase.ptg.sony.co.jp>
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
前橋です。
まつもと ゆきひろです
[#9008] FAQ — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
[#9018] making extension module — "民斗 " <tommy@...>
民斗です。
[#9023] はじめまして — kiyose@... (Kiyose)
はじめまして、ポリゴンです。よろしく。
[#9038] ruby 1.1c2 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#9048] Re: python vs ruby (Re: あなたのウロコみせてください) — 助田 雅紀 <masaki.suketa@...>
助田です。
まあ、self以外はべつにPythonもきらいではないのですが、
立石です。
[#9051] [Q] Can I get caller's id? — gotoken@... (GOTO Kentaro)
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
[#9072] irb -m — gotoken@... (GOTO Kentaro)
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#9091] NT 用 ruby-1.1c — Sinichiro Dezawa <dezawa@...>
出沢です
わたなべです.
watanabe> #って一昨日も書いたけど.
わたなべです.
From: WATANABE Hirofumi <watanabe@ase.ptg.sony.co.jp>
まつもと ゆきひろです
藤本です。
はじめまして。小田@QNES といいます。
小田@QNES です。
[#9121] [Q] fail and exit in rescue SystemExit — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#9126] gtk — "D.Kanda" <MAP2303@...>
まつもと ゆきひろです
[#9140] ruby-gtk-0.10 and gtk-1.1 — Takehama Hirohisa <thiro@...>
ruby-gtk-0.10 を早速インストールしようとしたのですが、うまくできません
[#9180] induced_from — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
[#9226] how to use exception — Kazuhiro HIWADA <hiwada@...>
ひわだです。
[#9256] Re: 式はどこで終るか — 助田 雅紀 <masaki.suketa@...>
助田です。
出沢です
青山です。
出沢です
青山です。
出沢です
dezawa> この様に、top conf を2度待ちます。
青山です。
[#9258] Re: ruby 1.1c2 release — 中川 誠 <GHA03025@...>
In Reply to ruby-list:9179
[#9267] 正規表現 — "民斗 " <tommy@...>
民斗です。
まつもと ゆきひろです
民斗です。
From: matz@netlab.co.jp (Yukihiro Matsumoto)
[#9284] about make ruby-1.1c2 for NT via WATCOMC — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
Regard to "[ruby-list:9285] Re: about make ruby-1.1c2 for NT via WATCOMC"
[#9301] ruby 1.1c3 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
Regard to "[ruby-list:9301] ruby 1.1c3 released"
[#9321] bow の ext のロードでエラー — "Hiroyasu Ohasi" <hohasi@...3.so-net.ne.jp>
BOWでruby1.1c3を使用させていただいています。
わたなべです.
まつもと ゆきひろです
[#9341] /\377/n =~ "\377" — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
[#9351] shttpsrv-1.0 & grepsvr-1.1 — Shin-ichro Hara <sinara@...>
原です。
まつもと ゆきひろです
はらです。
まつもと ゆきひろです
[#9360] [Q] 一文字ずつの処理について — Hiroyasu Ohasi <hohasi@...3.so-net.ne.jp>
ruby若葉マークの大橋です。
[#9374] inspect の動作 — Makoto Tagusari <mtag@...2.so-net.or.jp>
皆さん、こんばんは 田鎖と申します。この ML では、初めてのメールです。
[ruby-list:9019] あなたのウロコみせてください (Re: FAQ)
ごとけんです
In message "[ruby-list:9016] あなたのウロコみせてください (Re: FAQ)"
on 98/08/11, Yukihiro Matsumoto <matz@netlab.co.jp> writes:
>まつもと ゆきひろです
>Subjectは「あなたのウロコみせてください」です.
えーっと、たぶん目から落ちたウロコなんてものは
レストランから帰って気がついたホッペのご飯つぶくらい
ミットモナイものだと思うのですが、目から落ちたと
明言した手前、ハズカシながらいくつか挙げてみます。
* self って何度も書かなくてもよい
* Smalltalk ほど極端じゃなくても OOPL は成立する
* メソッドは関数じゃない
* (C++の)テンプレートは良くない
* Array は Queue も Stack も Set も兼ねても良い
* OOPってのは継承するコトじゃない
なんか、 OOP に対するわたくし偏見歴と、数少ない
経験の羅列みたいなものですね。この中には、きっと
期待されたまつもとさん自身の盲点はナイでしょう。
しかも、自分ではウロコと思っているけど、案外、
落ちたのは安眠マスクとか逆に目玉だったりするかも
知れないです。とほほ
-- gotoken
# 以下解題 ^^;;
* self って何度も書かなくてもよい
Ruby の前は Python 勉強してたんですが、何度も self と
書かなければならないのをみて、Smalltalk もそうだったし
メッセージを送るって一般化すると、そういうことなんだろう
と思ってました。
* Smalltalk ほど極端じゃなくても OOPL は成立する
むかーし、Smalltalk を使ったときの印象は、結局、
本格的なオブジェクト指向ってなんか使いにくいって
ゆー否定的なものでした。やっぱりオブジェクト指向と
いうからには制御構造までオブジェクトじゃないと
駄目なんだなぁとか思ってたワケです。
# イヤ、あれはあれでカッコ良いんだけど、それはそれ ^^;;
* メソッドは関数じゃない
普段研究で書くプログラムも OOPL にしようと思ったころ
g++ も安定して来たらしいので g++ を使いはじめました。
んで、メソッドといっても要は関数じゃんと思いました。
これはきっと、 C++ では int や double のように
数値実験屋が毎日使うものが別扱いになっているコトの
影響です。つまるところどこかに原子みたいなものがあって
その上に言語は成り立ってるんだから、底辺には関数と
データで記述された世界があるのだろうと勝手に思ってました。
そうでなければ Smalltalk のよーな、ほんとに
全部オブジェクトな世界で、それは遠い世界だなぁと。
んが、Ruby が、全部オブジェクトな世界を違和感のない
モデルで見せてくれたので安心しました。
* (C++の)テンプレートは良くない
わたくし、C++ ではずっとテンプレート書きに終始してました。
積んでるメモリの大きさぎりぎりの計算をすることが多いので
壁に当ったらすぐに変数の型を切替えられるように、
とゆーのが主な理由です。
でも、階層が解りにくくなりがちでバグが見つけにくかったり、
結局思ったよりもコード量は減らなかったり、いろいろ面倒でした。
まぁ思うに、hard typing な言語だと仕方ないのかも知れません。
Ruby は変数に型がないのでそもそもテンプレートなんて
要らないわけですが。
# 一方 ruby は数値計算には遅すぎるわけで ^^;
* Array は Queue も Stack も Set も兼ねても良い
Ruby の Array って強すぎてなんだか嫌だったんですけど
ちょっと前に Bag とか Sequential とかいったモジュールを
ここで議論させてもらってたどり着いた結論は、
強くても簡潔になるならよいとゆーことです。
勉強する量も少なくて済むし。
やっぱり複雑さをいかに押えるかが言語設計の上で
重要なのだなぁとしみじみ思います。
# でも、ちょっとまだちょっと気になってる ^^;;
* OOPってのは継承するコトじゃない
これも誤解していたのですが、OOPとゆーと、なんか
即ちクラス階層の設計をすることだと思ってました。
もちろん、ある程度の大きさのモノを作るとなると
そーゆー部分も大きいのだけど、例えば全然継承を
使わないよーな、しかもクラス定義すらしないような
プログラムを ruby で書いているときだって自覚的に
オブジェクトの視点で考える瞬間があります。
現在、わたくしオブジェクト指向プログラミングとは
「オブジェクトの立場で考えようとすること」です。
# こんなとき、客観指向とも読める Object 指向という
# 名前はマズくて Subject 指向(主体指向)なのでわ!?
# とさえ思います ^^;;
他の言語を使ってるときにそう気付いても良かったはず
なんですが、たぶん ruby の GC や簡潔な文法などの
おかげで要らんことに気を配らなくて済んだから
気がついたんでしょう。
これが、 ruby で落ちた一番でっかい鱗だと思っています。
# やっぱり書くんじゃなかったか…でも書いちゃったから
# 出しちゃおうっと ^^;
-- gotoken