[#19082] TermIO for ioctl — Shugo Maeda <shugo@...>

前田です。

19 messages 1999/12/01

[#19086] iconv wrapper — nobu.nakada@...

なかだです。

22 messages 1999/12/01
[#19103] Re: iconv wrapper — Hiroshi IGARASHI <igarashi@...> 1999/12/02

いがらしです。

[#19104] Re: iconv wrapper — nobu.nakada@... 1999/12/02

なかだです。

[#19187] Re: iconv wrapper — Hiroshi IGARASHI <igarashi@...> 1999/12/06

いがらしです。

[#19139] 簡易プリプロセッサ epp 0.1 — SASAKI Shunsuke <ele@...17.odn.ne.jp>

どうも。佐々木です。

12 messages 1999/12/03

[#19193] Japanese Regular Expression — Hiroyuki KUROSAKI <noir@...>

はじめまして。黒崎と申します。最近 Ruby を使いはじめました。よろしく

18 messages 1999/12/06
[#19195] Japanese Regular Expression — gotoken@... (GOTO Kentaro) 1999/12/06

In message "[ruby-list:19193] Japanese Regular Expression"

[#19200] Re: Japanese Regular Expression — Hiroyuki KUROSAKI <noir@...> 1999/12/06

gotoken さん、お返事ありがとうございます。

[#19206] Re: Japanese Regular Expression — matz@... (Yukihiro Matsumoto) 1999/12/06

まつもと ゆきひろです

[#19246] 破壊的イテレータ? — Hiroshi Saito <HiroshiSaito@...>

どうも、お世話になっております。サイトウです。

71 messages 1999/12/07
[#19257] Re: 破壊的イテレータ? — Wakou Aoyama <wakou@...> 1999/12/07

青山です。

[#19259] Re: 破壊的イテレータ? — Wakou Aoyama <wakou@...> 1999/12/07

青山です。

[#19278] オブジェクトの代入について — Hiroshi Saito <HiroshiSaito@...> 1999/12/08

サイトウです。

[#19296] Re: オブジェクトの代入について — gotoken@... (GOTO Kentaro) 1999/12/08

In message "[ruby-list:19278] オブジェクトの代入について"

[#19316] Re: オブジェクトの代入について — matz@... (Yukihiro Matsumoto) 1999/12/09

まつもと ゆきひろです

[#19325] Re: オブジェクトの代入について — gotoken@... (GOTO Kentaro) 1999/12/09

ごとけんです

[#19328] Re: オブジェクトの代入について — matz@... (Yukihiro Matsumoto) 1999/12/09

まつもと ゆきひろです

[#19331] Re: オブジェクトの代入について — gotoken@... (GOTO Kentaro) 1999/12/09

ごとけんです

[#19337] Re: オブジェクトの代入について — matz@... (Yukihiro Matsumoto) 1999/12/09

まつもと ゆきひろです

[#19343] Re: オブジェクトの代入について — ogino@... (Ogino Junya) 1999/12/09

荻野ともうします。

[#19351] Re: オブジェクトの代入について — Motomichi Matsuzaki <mzaki@...> 1999/12/09

[#19358] Re: オブジェクトの代入について — gotoken@... (GOTO Kentaro) 1999/12/09

ごとけんです

[#19366] Re: オブジェクトの代入について — Motomichi Matsuzaki <mzaki@...> 1999/12/10

[#19249] ruby story ? — "Kikutani, Makoto" <kikutani@...>

Maya Stodteつー人からRuby storyについて話を聞きたいのだが、

29 messages 1999/12/07

[#19441] 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

49 messages 1999/12/13
[#19470] Re: 自動翻訳プロジェクト — Wakou Aoyama <wakou@...> 1999/12/13

青山です。

[#19471] Re: 自動翻訳プロジェクト — Wakou Aoyama <wakou@...> 1999/12/13

青山です。

[#19474] Re: 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#19481] Re: 自動翻訳プロジェクト — nakajima kengo<ringo@...> 1999/12/14

[#19482] Re: 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#19483] Re: 自動翻訳プロジェクト — nakajima kengo<ringo@...> 1999/12/14

[#23719] Re: 自動翻訳プロジェクト — TAKAHASHI Masayoshi <maki@...> 2000/07/06

高橋征義です。

[#23722] Re: 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto) 2000/07/06

まつもと ゆきひろです

[#23723] Re: 自動翻訳プロジェクト — TAKAHASHI Masayoshi <maki@...> 2000/07/06

高橋征義です。

[#19442] ClipBoard I/O 対応 — Itou-T15@...

クリップボードI/O はたいていファイルI/Oの様に抽象化されていないが

47 messages 1999/12/13
[#19465] Re: ClipBoard I/O 対応 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/13

[#19467] Re: ClipBoard I/O 対応 — matz@... (Yukihiro Matsumoto) 1999/12/13

まつもと ゆきひろです

[#19508] Re: ClipBoard I/O 対応 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/14

[#19523] Re: ClipBoard I/O 対応 — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/15

なひです.

[#19551] Re: ClipBoard I/O 対応 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/15

[#19556] Re: ClipBoard I/O 対応 — matz@... (Yukihiro Matsumoto) 1999/12/15

まつもと ゆきひろです

[#19565] Re: ClipBoard I/O 対応 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/15

[#19456] mod_ruby & eRuby — Wakou Aoyama <wakou@...>

青山です。

20 messages 1999/12/13
[#19490] Re: mod_ruby & eRuby — TAKAHASHI Masayoshi <maki@...> 1999/12/14

mod_ruby初心者の高橋征義です。

[#19484] Ruby Application Archive — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1999/12/14

[#19578] ruby-list の過去ログの作り方 — Momotaro Nishiumi <momotaro@...>

はじめまして。ももたろといいますm(_ _)m

48 messages 1999/12/16
[#19581] Re: ruby-list の過去ログの作り方 — Shin-ichiro Hara <sinara@...> 1999/12/16

原です。

[#19583] Re: ruby-list の過去ログの作り方 — Momotaro Nishiumi <momotaro@...> 1999/12/16

こん○○は〜。ももたろです。

[#19622] Re: ruby-list の過去ログの作り方 — Shin-ichiro Hara <sinara@...> 1999/12/17

原です。

[#19626] Re: ruby-list の過去ログの作り方 — matz@... (Yukihiro Matsumoto) 1999/12/17

まつもと ゆきひろです

[#19630] Re: ruby-list の過去ログの作り方 — Wakou Aoyama <wakou@...> 1999/12/17

青山です。

[#19698] Re: ruby-list の過去ログの作り方 — Shin-ichiro Hara <sinara@...> 1999/12/19

原です。

[#19722] [PROPOSAL] Reimplement 'blade' (Re: ruby-list =?ISO-2022-JP? B??= の過去ログの作り方) — Hideto ISHIBASHI <s34204@...> 1999/12/20

石橋秀仁です。

[#19690] Book : rb_obj_call_init() — "Shigeo Kobayashi" <shigeo@...>

小林です。

29 messages 1999/12/19

[#19776] [mswin32] TCPSocket::new() raises Errno::ENOENT — "NAKAMURA, Hiroshi" <nakahiro@...>

なひです.

17 messages 1999/12/21
[#19789] Re: [mswin32] TCPSocket::new() raises Errno::ENOENT — Koji Oda <oda@...1.qnes.nec.co.jp> 1999/12/21

小田@QNES です。

[#19858] Re: [mswin32] TCPSocket::new() raises Errno::ENOENT — Katsuyuki Komatsu <komatsu@...> 1999/12/23

小松です。

[#19934] RD with method index (again) — Koji Arai <JCA02266@...>

新井です。

78 messages 1999/12/27
[#20160] Re: RD with method index (again) — Koji Arai <JCA02266@...> 2000/01/10

新井です。

[#19937] Re: RD with method index (again) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 1999/12/27

Toshです。

[#19962] Re: RD with method index (again) — Koji Arai <JCA02266@...> 1999/12/28

新井です。

[#19988] Re: RD with method index (again) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 1999/12/29

Toshです。

[#20012] Re: RD with method index (again) — nobu.nakada@... 2000/01/02

なかだです。

[#20016] Re: RD with method index (again) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/01/02

Toshです。

[#20017] Re: RD with method index (again) — Koji Arai <JCA02266@...> 2000/01/02

新井です。

[#20022] Re: RD with method index (again) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/01/03

Toshです。

[#20025] Re: RD with method index (again) — Koji Arai <JCA02266@...> 2000/01/03

新井です。

[#20032] Re: RD with method index (again) — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/01/03

Toshです。

[#19976] Tell me your favorite tools — Yasushi Shoji <yashi@...>

やすしです。

25 messages 1999/12/28
[#20010] Re: Tell me your favorite tools — Yasushi Shoji <yashi@...> 2000/01/01

やすしです。

[#21496] Re: Tell me your favorite tools — OZAWA Sakuro <crouton@...> 2000/03/16

さくです。

[ruby-list:19932] Rinda

From: "Masatoshi SEKI" <m_seki@...>
Date: 1999-12-27 14:58:59 UTC
List: ruby-list #19932
咳といいます。

dRubyをつかって なんちゃってLindaもどき を書いてみました。
いまマシンが一台しかないので並列処理の実験まではできないので
ほんとにうまく並列処理できるか自信がないのですが
もしよろしければ見てやって下さい。

Lindaの様にリクエストをtuple spaceに投入するのではなく、
手の空いたサービスをプールしておいて、リクエストが投入されると
その中から一つ取り出して処理をお願いするものです。

#すみません。正しい用語がよくわかりません。

三つのファイルからなります。
・rinda.rb ---- Rindaのライブラリ。単体で実行するとサービスのプールとなる。
・rincha.rb --- Rindaサンプル・サービス。またもchasenをしてくれます。
・rinchac.rb -- Rindaサンプル・クライアント。

Rinda は、実処理(サービス)を行うオブジェクトをプールするクラスです。
RindaEntry は、サービスをRindaに登録したり、Rindaからサービスを起動させたり
するクラスです。


--- rinda.rb ---
#!/usr/local/bin/ruby
=begin
 Tiny Ruby Linda
  Copyright (c) 1999 Masatoshi SEKI
 $Id: rinda.rb,v 1.2 1999/12/27 14:37:52 mas Exp $
=end

=begin
 How to play

 Terminal 1. -- rinda tuple space
 % ruby rinda.rb
 druby://yourhost:7640

 Terminal 2. -- rinda chasen service.
 % ruby rincha.rb 7950 druby://yourhost:7640

 Terminal 3. -- more rinda chasen service.
 % ruby rincha.rb 7951 druby://yourhost:7640

 Terminal 4. -- rinda chasen client.
 % ruby rinchac.rb 8470 druby://yourhost:7640
 ....

 Terminal 5. -- more rinda chasen client.
 % ruby rinchac.rb 8471 druby://yourhost:7640
 ....

=end

require 'drb'
require 'thread'

class Rinda
  include DRbUndumped

  def initialize
    @q = Queue.new
  end

  def invoke(*arg)
    entry, id = @q.pop
    entry.invoke(id, *arg)
  end

  def push(entry, id)
    @q.push([entry, id])
  end
end

class RindaEntry
  include DRbUndumped

  def initialize(factory, rinda)
    @factory = factory
    @rinda = rinda
    @count = 0
    @room = Hash.new
  end

  def entry
    @count += 1
    curr = @count
    service = @factory.new
    @room[curr] = service
    @rinda.push(self, curr)
  end

  def invoke(id, *arg)
    begin
      service = @room.fetch(id, nil)
      raise 'invalid id' unless service
      service.do_service(*arg)
    ensure
      @room.delete(id)
      self.entry
    end
  end
end

if __FILE__ == $0
  here = "druby://#{`hostname`.chomp}:7640"
  puts here
  DRb.start_service(here, Rinda.new)
  DRb.thread.join
end

--- rincha.rb ---
#!/usr/local/bin/ruby
=begin
 Tiny distributed Ruby --- rinda Sample Server
  Copyright (c) 1999 Masatoshi SEKI
 $Id: rincha.rb,v 1.2 1999/12/27 14:37:52 mas Exp $
=end

require 'drb'
require 'rinda'
require 'chasen'

class Rincha
  def do_service(str, *arg)
    p str
    Chasen.getopt(*arg)
    Chasen.sparse(str)
  end
end

if __FILE__ == $0
  port = ARGV.shift
  there = ARGV.shift
  unless there
    $stderr.puts("usage: #{$0} <port> <server_uri>")
    exit 1
  end

  here = "druby://#{`hostname`.chomp}:#{port}"

  ro = DRbObject.new(nil, there)

  re = RindaEntry.new(Rincha, ro)
  DRb.start_service(here, re)
  re.entry

  DRb.thread.join
end


--- rinchac.rb ---
#!/usr/local/bin/ruby
=begin
 Tiny distributed Ruby --- rinda Sample Client -- chasen client
  Copyright (c) 1999 Masatoshi SEKI
 $Id: rinchac.rb,v 1.2 1999/12/27 14:37:52 mas Exp $
=end

require 'drb.rb'

if __FILE__ == $0
  port = ARGV.shift
  there = ARGV.shift
  unless there
    $stderr.puts("usage: #{$0} <server_uri>")
    exit 1
  end

  here = "druby://#{`hostname`.chomp}:#{port}"

  DRb.start_service(here)

  chasen = DRbObject.new(nil, there)
  str = `man man | nkf -e | head -20`

  t = []
  10.times do
    th = Thread.new {
      print chasen.invoke(str, "-F", '(%BB %m %M)\n', "-j")
      print chasen.invoke(str, "-F", '(%m %M)\n')
    }
    t.push(th)
  end

  t.each do |th| th.join end
end

In This Thread

Prev Next