[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:06080] general-xxx-stream (was Re: バージョンナップのお知らせ)



かめーさん,こんにちは。Toy です。

    Mon, 05 Feb 2001 14:34:01 +0900 の
    "[xyzzy:06068] Re: バージョンナップのお知らせ" について。

| 一応、そのつもり。

ということでいろいろ試してるのですが,いまいち思い通りに使えてないとい
うか…。(T^T)

具体的には………
  [a][b][c]をそれぞれバッファとして,
┌──────────────────────┐[a]
│(make-local-variable 'name)                 │
│(setq name "a")                             │
│(make-local-variable 'bs)                   │
│(setq bs (make-buffer-stream name))         │
│(setq ga (make-general-output-stream 'ofn)) │
└──────────────────────┘
┌──────────────────────┐[b]
│(make-local-variable 'name)                 │
│(setq name "b")                             │
│(make-local-variable 'bs)                   │
│(setq bs (make-buffer-stream name))         │
│(setq gb (make-general-output-stream 'ofn)) │
└──────────────────────┘
┌──────────────────────┐[c]
│(make-local-variable 'name)                 │
│(setq name "c")                             │
│(make-local-variable 'bs)                   │
│(setq bs (make-buffer-stream name))         │
│(setq gc (make-general-output-stream 'ofn)) │
└──────────────────────┘
というようにそれぞれ変数を指定しておいて,
ブロードキャスト用ストリームを
(broadcast-stream '(ga gb gc))
という風に設定し,general-output-stream にかます関数を例えば,

(defun ofn (str)
  (interactive "s")
  (write (format nil "~A:~A" name str) :stream bs))

みたいなのを設定しておいて,

        (write "abc")
              ↓
       broadcast-stream
              │
    ┌────┼────┐
┌─┴─┐┌─┴─┐┌─┴─┐
│      ││      ││      │
└───┘└───┘└───┘
 [a]       [b]       [c]

とすれば,

       broadcast-stream
              │
    ┌────┼────┐
┌─┴─┐┌─┴─┐┌─┴─┐
│a:abc ││b:abc ││c:abc │
└───┘└───┘└───┘
 [a]       [b]       [c]

となるイメージなんですが…。
上記のように送られた先のバッファの変数を参照することはできますでしょう
か?(いまいち伝わってないでしょうか…)
もしくはとんちんかんなことをしてます?

---- 
Toy
  E-mail : s5087@xxxxxxxxxxxxxxxxxxxxx

Index Home