DraftPadに数式を書くと計算してくれるアシスト(改良版)

DraftPadに電卓機能を追加するアシスト(超進化版) - W&R : Jazzと読書の日々
ボクにもでけた。DraftPad で半角カナに変換 - takahashihideki素敵なプレゼント大先生の新しいアシスト。全角カタカナを半角にするんですが、もちろん、それが実用的かどうかではなく、...
前に書いた電卓機能アシストですが、関数をもう少し自由に使いたいと思いました。数式で書くと答が出てくる。エディタだから式の再利用も簡単だし、変数も使えるといいな、ってことで。前のでも使えたけど、わかりにくかったので簡略化。


DraftPad 1.6.1
カテゴリ:仕事効率化,ユーティリティ
価格:無料 (Manabu Ueno)
DraftPadに下記アシストを追加してください。

Title: 電卓機能
URL: draftpad://self/web?source=<script>location.href=%22draftpad:///webdelegate?load=f%22;f=function(x){t=x.t;s=x.s;p=x.p;a=t.substr(0,p);b=t.substr(p);s=s.replace(/@/g,%22Math.%22);s=%22 = %22+eval(s);draftpad.replace(a+s+b,p);}</script>&t=<@@>&s=<@>&p=<#LOC>

DraftPad用の自作アシスト集



たとえば「2/(@sqrt(5)+1)」と書き、このアシストを実行。カーソル行を対象にします。



すると画面に答が追加される。エディタ上にあるから、書き写す手間も要らない。「(@sqrt(5)+1)/2-1」と修正すれば再計算もすぐ出来る。ちなみにこれは黄金比の数式です。半分にしても比率が変化しないなんて不思議。
関数は、javascript のMathオブジェクトを利用しています。@マークをつけると、それが関数として扱われる方式です。代表的な関数は次のようなの。
 @PI パイ。円周率の値を返します。
 @sqrt(x) 平方根
 @pow(x, y) ベキ乗。x を y 回掛け算します。
 @sin(x) サイン。x はラジアンで指定します。
 @cos(x) コサイン。同じくラジアンで。
 @log(x) 自然対数。
Mathオブジェクト/JavaScriptリファレンス



また、「;」で区切ることで変数を使うこともできます。たとえば「x=28800; y=1.05; x/y」とすると、最後の「x/y」に値を代入し、iPad mini(16GB)の税抜き価格がわかる。x の数字を変えることで、他の税抜き価格を計算することもできます。スクリプトも使え「Date()」とか「d=new Date();d.toLocaleString()」で時刻取得もします。
@マークを関数にするのは、昔懐かしい「ロータス 1-2-3」のネタです。Excelより使いやすかったんだけどなあ。


(おまけ情報)

FusionCalc+ 魔法の電卓 1.3
カテゴリ:仕事効率化,ユーティリティ
価格:無料 (Studio Loupe)
今だけ無料のiPhone用電卓アプリ。計算結果をドラッグして、横に避けたり戻したり。こういうデザインの発想は楽しい。