たけうちです。

咳さんのおっしゃりたいことをつかめてませんでした。

> 標準出力の代りに 例えば $eruby かなにかがあって、
> $eruby.write(aString)とかでも良いかなぁと思いました。

そういう意味だったんですね。やっとわかりました。そうですね、確かに
自分が eRuby を書いているとき、標準出力に出力するというよりも、出
力用のテキストを作っているという意識のほうが強い気がします。

これはつまり、eRuby の地の文を何だと思ってるかということですよね。
地の文を標準出力そのものだと思っていれば、スクリプト部分で print 
するのは違和感ないと思いますけど、わたしは正直言ってちょっと違和感
ありました。なんでかなあと思ってたんですが、出力用のテキストと
標準出力は別だと思ってたからだったのね…。

ということで、咳さんのおっしゃることにも一理あると思います。

web 系しか知りませんが、eRuby と似たようなコンセプトのものとして

・IIS の ActiveServerPages (いわゆる ASP)
・Apache の PHP3 (昔の名前は PHP/FI)

があります。ASP では Response オブジェクトというものがあって、
Response.Write(string) と書きます。こちらは出力作ってますって感じ
がします。PHP/FI では確か echo でした。標準出力に書くという意味の
ものではなかったと思いましたが、名前からすると標準出力をイメージし
てるような名前かなあ。参考まで。

>  gotoken> # ところで、さっき気がついたんですが、<% %> の外側は Ruby の
>  gotoken> # 制御の順に出力されるのですね。いかす!! これってよく知られ
>  gotoken> # てるのかなぁ??
> 
> これ、とっても嬉しいですよね。

ええ。こういう仕様だから使っていると言っていいです。あまり知られて
ないことだったんでしょうか。わたしはこういう、スクリプト埋め込み型
の仕組みでは普通のことだと思ってたんですけど…。

> 私は普通のHTMLの文書を一旦作ってから、ループしたいところ、
> 条件分岐したいところに <% %> を埋め込む感じで書いてます。

わたしもそうです。まずプログラムのことは考えないでページが作れる、
それができるのが嬉しいんじゃないですか〜。←しつこい

--
たけうちかほり
take-k / secom-sis.co.jp