[要望] マクロ機能追加No.13805
IKKI さん 03/01/10 05:18
 
マクロを書くようになって2年足らずですが、必要性を強く感じている機能がいくつ
かあります。

  toupper(), tolower() …文字列を大文字化/小文字化する関数。
  seltopcolumn, seltoplineno, selendcolumn, selendlineno …文字通り。
  gettext2() … column, lineno で指定するバージョン。

いずれもマクロで実現できるのは承知していますが、これらの機能がネイティブに提
供されれば

  ・速度面でのボトルネック
  ・本質的でない処理にともなうコードの肥大

を解消することができると思います。ご検討いただければ幸いです。

[ ]
RE:13805 [要望] マクロ機能追加No.13806
IKKI さん 03/01/10 05:36
 
自己レスです。欲を言えば Perl や AWK の

  tr(), sub(), gsub()

相当の高速な文字列操作関数があれば、たとえば正規表現の特殊文字のエスケープな
ども1行ででき、きびきび動くマクロが手軽に書けそうですね。
秀丸にそこまで望むのは筋違いでしょうか。

[ ]
RE:13806 [要望] マクロ機能追加No.13813
秀丸担当 さん 03/01/10 17:45
 
>  toupper(), tolower() …文字列を大文字化/小文字化する関数。
>  seltopcolumn, seltoplineno, selendcolumn, selendlineno …文字通り。
>  gettext2() … column, lineno で指定するバージョン。

前向きに検討させていただきます。

>  tr(), sub(), gsub()

こちらは、ちょっと複雑になりそうですので、難しいかもしれません。

[ ]
RE:13813 [要望] マクロ機能追加No.13814
IKKI さん 03/01/10 20:08
 
> 前向きに検討させていただきます。
助かります。よろしくお願いいたします。

(以下余談)

>> toupper(), tolower() …文字列を大文字化/小文字化する関数。
これだと名前がかぶっちゃいますね。気になって他の言語の同様の関数名を調べてみ
ました。

  Perl … lc, uc, ucfirst
  VB … lcase, ucase
  Ruby … downcase, upcase, capitalize
  SQL … lower, upper
  AWK … tolower, toupper
  JSP … toLowerCase, toUpperCase
  PHP … strtolower, strtoupper, ucfirst
  WZ … strlwr, strupr
  QX … BlockToSmall, BlockToCapital

1行に何個も使うことを考えると Perl のような短い名前がいいのかな。

[ ]
RE:13813 [要望] マクロ機能追加No.13816
杉浦 まさき さん 03/01/11 00:30
 
横から失礼します。
杉浦 まさき です。

>>  toupper(), tolower() …文字列を大文字化/小文字化する関数。
>>  tr(), sub(), gsub()

手前味噌で恐縮ですが、これらは拙作の田楽DLLに用意されてます。
#tr() は 別途 bregexp.dll (Baba さん作のPerl互換正規表現エンジン)が
 必要ですが。

なお、DLLは
http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgserver/
から入手できます。

#とはいえ、ネイティブに関数を用意してもらえるなら
 それが一番いいという気もしますが(^^;。


[ ]
RE:13816 [要望] マクロ機能追加No.13817
山城屋 さん 03/01/11 09:22
 
さらに横から失礼します。
まずはDLL作者の杉浦まさきさんに感謝の意を表します。

さて、
>#とはいえ、ネイティブに関数を用意してもらえるなら
> それが一番いいという気もしますが(^^;。

秀丸エディタ本体の肥大化を避けるという観点からも、
DLLでの機能追加という方向で可能性を考えてました。
# 「も」というのは、他にも理由はあるということです。
# あるんだけれど、整理・文章化して提示する元気がない。

問題なければ、必要な方は杉浦まさきさんのDLLを使う
ということでどうでしょうか。> みなさま。

勝手なことを言っているようでしたらごめんなさい。

[ ]
RE:13817 [要望] マクロ機能追加No.13821
ひろ さん 03/01/11 12:17
 
 山城屋さん今日は、ひろです。
> 秀丸エディタ本体の肥大化を避けるという観点からも、
> DLLでの機能追加という方向で可能性を考えてました。
 秀丸担当さんの考えが表明されているのに何ですが、私もこう考えていまし
た。また既にある文・関数の組み合わせで実現できることの追加より、マクロ
からは操作できない機能を追加して頂いたほうが嬉しい。

[ ]
RE:13821 [要望] マクロ機能追加No.13823
EMiCC さん 03/01/11 15:09
 
こんにちは、EMiCCです。

>> DLLでの機能追加という方向で可能性を考えてました。

そうすると、本体ver/DLLver/DLLの有無など考えなければならない
ケースが一気に増えてしまい、今後の対応が非常に大変になってしまうので
はないかとよけいな心配をしてしまいます。



[ ]
RE:13821 [要望] マクロ機能追加No.13824
IKKI さん 03/01/11 15:13
 
杉浦さん、山城屋さん、ひろさん、はじめまして。
私のような若造にコメントをいただき恐縮至極です。

>>>  toupper(), tolower() …文字列を大文字化/小文字化する関数。
>>>  tr(), sub(), gsub()

> 手前味噌で恐縮ですが、これらは拙作の田楽DLLに用意されてます。
> #tr() は 別途 bregexp.dll (Baba さん作のPerl互換正規表現エンジン)が
>  必要ですが。

はい。私も個人的には便利に使わせていただいており、杉浦さんと Baba さんに深く
感謝するところであります。
ただそれを配布するとなると、 tolower() のためだけに DLL をインストールしても
らうのも本末転倒かなという気がしまして、いままでマクロだけで頑張ってきました。
しかし、やはりマクロで1文字ずつ切り出してどうのこうのするのは実行速度的に厳
しいものがあり、 tolower() ぐらいなら実装も簡単だろうということで今回の要望
に至った次第です。
# tr(), sub(), gsub() は言ってみただけ。(^^;

> また既にある文・関数の組み合わせで実現できることの追加より、マクロ
> からは操作できない機能を追加して頂いたほうが嬉しい。

それもそうですね。この意見には私も賛成します。
#マクロから操作できない機能って、何が残ってましたっけ。

[ ]
RE:13821 [要望] マクロ機能追加No.13825
きいろいまふらあ さん 03/01/11 15:25
 
>> 秀丸エディタ本体の肥大化を避けるという観点からも、
>> DLLでの機能追加という方向で可能性を考えてました。
> 秀丸担当さんの考えが表明されているのに何ですが、私もこう考えていまし
>た。また既にある文・関数の組み合わせで実現できることの追加より、マクロ
>からは操作できない機能を追加して頂いたほうが嬉しい。

「マクロでできることはマクロで」というスタンスを維持するためにも、そのマ
クロというものの敷居を低くするという意味で、汎用的なものについては(「既
にある文・関数の組み合わせで実現できる」処理であっても)個別の命令が実装
されることは非常に有意義だと考えています。

技術的な話は抜きとして(わからないので)。

[ ]
RE:13825 [要望] マクロ機能追加No.13827
ひろ さん 03/01/11 17:21
 
 EMiCCさん、IKKI さん、きいろいまふらあさん今日は、ひろです。
 書き始めたら長くなったことと、既に秀丸担当さんからのフォローは有った
ことなので、http://www.maruo.co.jp/turukame/3/ に移動します。

[ ]