たけ(tk)です。

[ruby-list:32645] Re: Editor macro by Ruby にて 
rubiben <ozaki / ruby-lang.org> さん 曰く:
> def ctrl_e(it) #^E is for Eval
>     begin
>       eval(it.lines.text)
>     rescue  StandardError, ScriptError
>       #えらー処理
>     end
> end
> 
> とかするだけ。

  これ自体は Apeed には既に入っています。選択部分を評価して、検索文字列
にセットするようになっています。セットされた文字列は Ctrl+QI か Ctrl+V 
でテキストに挿入できる。(ただし、 Ctrl+OD : Onscreen Dentaku は文書内計
算を目的としているので、計算専用として仕様が変わる予定。123+456 みたいな
スクリプト?を想定している)。

  def ctrl_od
    owner.search_str = (eval(self.editor.sel_text)).to_s
  rescue  Exception
    say $!
  end

 これと同じものをスクリプト評価用に ctrl_oe くらいに割り当ててもよいけ
れど、いまいち使い勝手に自信がないんですよね。

> 一見、これだとどこにも出力されないような気がしますが、マクロ中で、
> 
> a=#処理対象テキストをヒアドキュメント記述
> $edit.text=a.gsub(/hogehoge/,"mozomozo");
> 
> とかするわけ。#15分で作れるフルrubyマクロエディタ講座(笑)。

 スクリプトのソースをどこから取得するか、スクリプトの処理対象のテキスト
をどこから取得するか、処理結果のテキストをどこに出すか、エディタ外のファ
イルを対象とするにはどうするか、あたりが悩ましいところです。

(以下は独り言)

入力、出力をどうするかが問題。コンソールみたいなものに出してしまうか?

現状で、
	owner.log 123+456 ; owner.show
という行を選択して Ctrl+OD を実行すると、「コンソールみたいなもの(コン
トロールフォーム)」が現れて「579」って出てきますけどね・・。

出力はこれ(コントロールフォーム)を使うか?。

入力に関しては「表のファイルを処理対象として、裏のファイルをスクリプトと
して実行」という手もあるか・・。

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武