[#26295] tail -f のように読み続ける方法は? — Kazuhiro NISHIYAMA <zn@...>

tail -fのようにだんだん大きくなるファイルを読み込み続けるのは

22 messages 2000/12/03
[#26301] Re: tail -f のように読み続ける方法は? — matz@... (Yukihiro Matsumoto) 2000/12/03

まつもと ゆきひろです

[#26303] Re: tail -f のように読み続ける方法は? — WATANABE Tetsuya <tetsu@...> 2000/12/04

渡辺哲也です。

[#26323] Re: tail -f のように読み続ける方法は? — Kazuhiro NISHIYAMA <zn@...> 2000/12/04

On Mon, 4 Dec 2000 10:18:47 +0900

[#26324] Re: tail -f のように読み続ける方法は? — matz@... (Yukihiro Matsumoto) 2000/12/04

まつもと ゆきひろです

[#26331] Re: tail -f のように読み続ける方法は? — nobu.nakada@... 2000/12/04

なかだです。

[#26346] Re: tail -f のように読み続ける方法は? — matz@... (Yukihiro Matsumoto) 2000/12/05

まつもと ゆきひろです

[#26362] Re: tail -f のように読み続ける方法は? — とみたまさひろ <tommy@...> 2000/12/05

とみたです。

[#26368] Re: tail -f のように読み続ける方法は? — matz@... (Yukihiro Matsumoto) 2000/12/06

まつもと ゆきひろです

[#26313] 並行するスレッドの記述法について — Kenya OGATA <ind.onosetu1@...>

おがたといいます。

30 messages 2000/12/04
[#26332] Re: 並行するスレッドの記述法について — nobu.nakada@... 2000/12/04

なかだです。

[#26335] Re: 並行するスレッドの記述法について — Kenya Ogata <k_ogata@...> 2000/12/04

おがたです。なかださんコメントありがとうございます。

[#26337] Re: 並行するスレッドの記述法について — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/12/05

なかだです。

[#26338] ruby-GD — Akira Muraki <a-muraki@...> 2000/12/05

村木@日立ITです。

[#26354] Re: ruby-GD — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/12/05

なかだです。

[#26355] Re: ruby-GD — Akira Muraki <a-muraki@...> 2000/12/05

村木です

[#26356] Re: ruby-GD — "U.Nakamura" <usa@...> 2000/12/05

こんにちは、なかむら(う)です。

[#26415] cgi.rb で InsecureOperation — Takeshi Komiya <katsuwo@...>

25 messages 2000/12/07

[#26536] ファイル名が文字化け — KUROSAWA Takashi <tabby@...>

Tabby as くろさわ@秩父です。

21 messages 2000/12/14
[#26537] Re: ファイル名が文字化け — WATANABE Hirofumi <eban@...> 2000/12/15

わたなべです.

[#26554] Hash.new — Takao KAWAMURA <kawamura@...>

Hash.newの挙動について、理解できないことがありましたので、教

47 messages 2000/12/16
[#26555] Re: Hash.new — gotoken@... (GOTO Kentaro) 2000/12/16

ごとけんです

[#26559] Re: Hash.new — nobu.nakada@... 2000/12/16

なかだです。

[#26561] Re: Hash.new — gotoken@... (GOTO Kentaro) 2000/12/16

In message "[ruby-list:26559] Re: Hash.new"

[#26564] Re: Hash.new — matz@... (Yukihiro Matsumoto) 2000/12/16

まつもと ゆきひろです

[#26565] Re: Hash.new — gotoken@... (GOTO Kentaro) 2000/12/16

In message "[ruby-list:26564] Re: Hash.new"

[#26566] Re: Hash.new — Yasushi Shoji <yashi@...> 2000/12/16

At Sun, 17 Dec 2000 02:23:14 +0900,

[#26567] Re: Hash.new — gotoken@... (GOTO Kentaro) 2000/12/16

In message "[ruby-list:26566] Re: Hash.new"

[#26569] Re: Hash.new — Yasushi Shoji <yashi@...> 2000/12/16

At Sun, 17 Dec 2000 03:28:55 +0900,

[#26576] Re: Hash.new — matz@... (Yukihiro Matsumoto) 2000/12/17

まつもと ゆきひろです

[#26605] [Q] Oracle PL/SQL with bind vars — Hideto ISHIBASHI <hideto-i@...4u.or.jp>

石橋秀仁です。

28 messages 2000/12/18
[#26642] Re: [Q] Oracle PL/SQL with bind vars — Yoshida Masato <yoshidam@...> 2000/12/19

よしだです

[#26656] Re: [Q] Oracle PL/SQL with bind vars — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/12/20

石橋秀仁です。よしださん、リプライありがとうございます。

[#26696] Re: [Q] Oracle PL/SQL with bind vars — Yoshida Masato <yoshidam@...> 2000/12/21

よしだです

[#26701] Re: [Q] Oracle PL/SQL with bind vars — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/12/21

石橋秀仁です。こんばんは。

[#26703] 一行野郎と Ruby について (Re: [Q] Oracle PL/SQL with bind vars) — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/12/21

石橋秀仁です。こんばんは。

[#26609] net/http,smtp,pop 1.2 pre 1 — Minero Aoki <aamine@...>

あおきです。

24 messages 2000/12/18
[#26653] Re: net/http,smtp,pop 1.2 pre 1 — TAKAHASHI Masayoshi <maki@...> 2000/12/20

高橋征義です。

[#26658] cgi.rb and Regexp::last_match — OHSHIMA Ryunosuke <ryu@...>

大島です。

53 messages 2000/12/20
[#26666] Re: cgi.rb and Regexp::last_match — Wakou Aoyama <wakou@...> 2000/12/20

青山です。

[#26668] Re: cgi.rb and Regexp::last_match — matz@... (Yukihiro Matsumoto) 2000/12/21

まつもと ゆきひろです

[#26711] Re: cgi.rb and Regexp::last_match — Wakou Aoyama <wakou@...> 2000/12/21

青山です。

[#26713] Re: cgi.rb and Regexp::last_match — Shin-ichiro Hara <sinara@...> 2000/12/22

原です。

[#26716] Re: cgi.rb and Regexp::last_match — matz@... (Yukihiro Matsumoto) 2000/12/22

まつもと ゆきひろです

[#26721] Re: cgi.rb and Regexp::last_match — ARIMA Yasuhiro <fit0298@...> 2000/12/22

有馬です。

[#26722] Re: cgi.rb and Regexp::last_match — matz@... (Yukihiro Matsumoto) 2000/12/22

まつもと ゆきひろです

[#26791] Re: cgi.rb and Regexp::last_match — "Akinori MUSHA" <knu@...> 2000/12/24

At Fri, 22 Dec 2000 15:03:17 +0900,

[#26811] Re: cgi.rb and Regexp::last_match — matz@... (Yukihiro Matsumoto) 2000/12/24

まつもと ゆきひろです

[#26670] Re: cgi.rb and Regexp::last_match — "K.Kosako" <kosako@...>

さっきruby-listに入ったばかりなので、

27 messages 2000/12/21
[#26672] Re: cgi.rb and Regexp::last_match — matz@... (Yukihiro Matsumoto) 2000/12/21

まつもと ゆきひろです

[#26675] Re: cgi.rb and Regexp::last_match — "K.Kosako" <kosako@...> 2000/12/21

> まつもと ゆきひろです

[#26677] Re: cgi.rb and Regexp::last_match — Shugo Maeda <shugo@...> 2000/12/21

前田です。

[#26678] Re: cgi.rb and Regexp::last_match — "K.Kosako" <kosako@...> 2000/12/21

> 前田です。

[#26679] Re: cgi.rb and Regexp::last_match — Shugo Maeda <shugo@...> 2000/12/21

前田です。

[#26683] Re: cgi.rb and Regexp::last_match — "K.Kosako" <kosako@...> 2000/12/21

> 前田です。

[#26725] ruby 1.6.2-preview4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

34 messages 2000/12/22

[#26735] gpib-rb — kiwamu <kiwamu@...>

こんにちは。岡部と申します。

17 messages 2000/12/22

[#26846] Ruby 1.6.2 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 2000/12/25

[ruby-list:26703] 一行野郎と Ruby について (Re: [Q] Oracle PL/SQL with bind vars)

From: Hideto ISHIBASHI <hideto-i@...4u.or.jp>
Date: 2000-12-21 16:13:13 UTC
List: ruby-list #26703
石橋秀仁です。こんばんは。

どうでもいい観念的な話です。
#得意分野(笑)

タイトル:
一行野郎と、Rubyのmethod chainの優位性についての考察


Hideto ISHIBASHI <hideto-i@rr.iij4u.or.jp> wrote:

> あるいは、同じ内容を一行野郎で、
>  ruby -r oracle -e 'Oracle.new("scott", "tiger").exec("select * from foo") { |r| print(r.join("\t"), "\n") }'
> と書けるのが僕にとっては嬉しい点です。

Rubyのmethod chainは「左から右に連鎖」します。
「左から右にコードをタイプ」するのと一致しています。
考えながら書ける。それが「自然なコーディング」や
「楽しさ/嬉しさ」という感覚につながっている気がします。
# Perlで同じことを書くと「右から左に連鎖」するからヤです。
# 例えば gets.chop.split("\t").each{|e| foo(e)} のような処理。


Rubyのmethod chainは、考える順に書くことができて、すごく自然です。
考えながら書く=考える道具として優秀だと思います。メソッドの動作を
確認するために、コマンドラインで一行野郎(one-liner)を書くときとか。


たとえば、一行野郎の
  'Oracle.new("scott", "tiger")
    .exec("select * from foo") { |r| print(r.join("\t"), "\n") }'
を書くときに、ぼくの頭の中では
  Oracle.new("scott", "tiger") で生成した Oracle オブジェクトに、
  メッセージ exec("select * from foo") を送って、
  ブロック { |r| print(r.join("\t"), "\n") } をコールバックしてもらう
とイメージしながら、同時に手を動かしています。


一行野郎で書けない場合は、どうなるかというと、
  'conn = Oracle.new("scott", "tiger");
    cur = conn.exec("select * from foo");
     cur.fetch { |r| print(r.join("\t"), "\n") }'
と書くことになります。このときのイメージは、
  Oracle.new("scott", "tiger") で生成した Oracle オブジェクトを
  conn に代入して、conn に exec("select * from foo") を送って
  生成された Oracle::Cursor オブジェクトを cur に代入して、
  cur に fetch を送ってブロック { |r| print(r.join("\t"), "\n") }
  をコールバックしてもらう
となります(僕の場合)。

イヤなのは、代入により思考がいったん「逆向き」になることです。
バックトラックというか。心の中のモノローグ:
  Oracle.newしたやつを何かに代入しよう。
  名前は・・・connでいいや。
  じゃ、代入文を書こうかな・・・
  って、カーソル左に戻さなきゃなんね〜(怒)
ってなかんじですね。だから途中で生成される個々のオブジェクト
について代入文を書くのは、とても苦痛です。

何度も書いた定型文なら、最初から代入文として書くかもしれません。
しかし、まず代入文を書くというのは、思考の順序として自然ではない
と思います。まず右辺に何らかの文があって、その結果を左辺に代入する
のですから、右辺が先で、左辺があとです。そもそも右辺が確定しなければ、
左辺に代入されるオブジェクトの型も分からないので、順序はあると思います。


仮に、最初から "conn = Oracle..." と書き始めて、
後戻りせずに全部書ききるためには、数手先まで
読んでいなければいけません。

これは、思考スピードとタイプスピードの不一致を起こすので、
勘違いやミスタイプの可能性が上がると思います(仮説)。
思考スピードが速ければよいかというと、そうではなくて、
思考とタイプのスピードが一致していないことは、
それだけで問題だと思います。
#仮説の前提:一行野郎なのでカーソルを右往左往させず一気に書きたい。
#まあbashをviモードで使えばあんまり苦じゃないような気も。

また、最初に全体の構成を考えるということは、
考えながら書くことができないということです。
気軽さが損なわれています。


結論:
method chainは考えながら書く一行野郎に最適

蛇足:
イテレータも簡潔に書くのに最高


試案:
  文の結果 → 代入する変数
のような構文があればよい?
  Oracle.new("scott", "tiger") -> conn
やっぱりきもちわる〜いですね (^^;;;


--
Hideto "rubyholic" ISHIBASHI  http://www.rr.iij4u.or.jp/~hideto-i/


In This Thread