数値計算

作成理由

  • 秀丸でちょっとした計算ができれば便利かと思い作ってみる

前準備

//数値計算

disabledraw;begingroupundo;
if(selecting){}
else{selectline 1;}
#px=seltopx;#py=seltopy;#dx=selendx;#dy=selendy;
moveto #px,#py;beginsel;moveto #dx,#dy;
copy2;
runsync2 "rubyw -x "+currentmacrofilename;
execmacro directory + "\\tmp.mac";
endgroupundo;enabledraw;

/*
#/
#! ruby

$stdout=open("tmp99m.txt","w")
$stderr=open("tmp_errm.txt","w")

include Math
require 'clipboard'
cbd = ClipBoard.new(__ENCODING__)

ar=cbd.getText.split(/\R/).reject{|e| e==""}.reverse
st="\uFEFFbegingroupundo;disabledraw;\n"

print "ar=";p ar
ar=ar.each{|e|
  begin
    if /([ -~]+)=(?![-0-9 ])/=~e
      f=$1
      a=eval(f)
      st+=%Q|replaceup "#{f}=","#{f}=#{a}";\ngolineend2;\n|
    end
  rescue
    st+=%Q|replaceup "#{f}=","#{f}=error";\ngolineend2;\n|
  end}
st+="enabledraw;endgroupundo;\n"
st+="escape"

print "st=";p st
File.write("tmp.mac",st)
__END__
*/

使い方のポイント

  • 計算は半角数字で入力し最後に”=”をつける
  • ruby の eval の結果を出力しているだけなので割り算の場合、整数で割ったら答えも整数になってしまう。

/

コメント