ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

[iOS]テキストエディタ型計算機「Waltz」が最近のお気に入り

   

テキストエディタ型の計算機「Waltz」


Waltz a native calculator in a smart scratchpad 00000

最近、計算機として「Waltz ネイティブ計算機 in スマートスクラッチパッド」というアプリを使っています。

Waltz — a native calculator in a “smart scratchpad”App
カテゴリ: Education
販売元: Frederic Blondiau(サイズ: 1.0 MB)
全てのバージョンの評価: (0 件の評価)

※リンク先は、カスタムキーボードとのバンドルになっています(カスタムキーボードとのバンドルでも同価格)

「Waltz」は、計算機といっても電卓を模した美麗な画面を持っているわけでなく、起動すると現れるのは飾り気ゼロのテキストエディタのような画面。

Waltz a native calculator in a smart scratchpad 00001

最下段に入力位置を示すカーソルが明滅しています。

ミッチリ見た目を作り込んだアプリを愛する人からすると、およそ価値のあるものには見えないかもしれませんが、そこがいいのです。

今回は、最近お気に入りの「Waltz」を紹介します。

基本的な使い方

「Waltz」の機能の中核を担うテキストエディタのような入力画面のことを「スマートスクラッチパッド」と呼んでいます。RHODIAのような剥ぎ取り式のメモ帳のイメージですね。

「スマートスクラッチパッド」は、文字を書いたり消したり、カット、コピー、ペースト、削除などなど、テキストエディタ同様に使えます。

違いは、キーボードで式を入力した後、returnをタップすると、カーソルのあった行が式として実行され、結果が次の行にテキストとして挿入されることです。ここが「スマート」たるゆえんです。

Waltz a native calculator in a smart scratchpad 00002

returnをタップしても改行はされません。「Waltz」中では、改行のみをコピーしてペーストする、という方法でもなければ、改行を入力する方法がありません。

内容を保存する方法が用意されていないということもテキストエディタとの違いで、書き捨てです。

数式記号は演算子に置き換えて使いますので注意です。この辺りの事情はExcelでも同じですね。

一般的な数式記号 「Waltz」での演算子
+
× *
÷ /

括弧を使った、優先順位付きの計算もOKです。括弧付きの式から、そして括弧の内側から先に計算されます。

((5 + 2) / 3) * 2

挿入された実行結果もまたテキストですから、それを次の式の一部ないしは全部として流用することもできます。

全部はテキストですので、カット、コピー、削除などを駆使して行を編集した後、returnで式として実行、といったこともできます。

returnをタップする前にテキストを選択しておくと、選択したテキストだけを式として実行。選択範囲が複数行にわたる場合は、それ全部をいっぺんに実行します。

そして、選択テキストの最終行の次の行に、結果をテキストとして挿入します。

式はJavaScriptとして実行される

入力したテキストは、実はJavaScriptとして実行されています。「1+1」も立派なJavaScriptです。

四則演算だけをミニマムに使い、おとなしく使うのもいいですし、高度な数学関数なども備えていますから、そこまで使い倒すのもアリ。

Waltz a native calculator in a smart scratchpad 00005

文字列も扱えます。変数も扱えます。関数定義もできます。

「Waltz」は、いわばJavaScriptの対話型コンソールです。

Webブラウザのデベロッパーツールに内蔵されているJavaScriptコンソールとの違いは、どこの行のJavaScriptでも即座に編集・実行できるところです。

WebブラウザのJavaScriptコンソールは最下段に位置する実行行(プロンプト)と履歴が分かれていて、基本的に履歴はリードオンリー。自由に編集したり実行したりはできず、「Waltz」と比較して自由度が低いものになっています。

「Waltz」は使い勝手としてはテキストエディタに準拠し、自由に式を編集し、その場で実行できるところにアドバンテージがあります。

スタートアップファイルでカスタマイズする

「Waltz」は、起動時、リロードボタンを押したときに、指定したスタートアップファイルを読み込む作りとなっています。

逆を言うと、スタートアップファイルを読み込まない、ということができません。

画面右上のリロードボタンを短く押すとリロードですが、長押しするとスタートアップファイルの選択画面になります。

Waltz a native calculator in a smart scratchpad 00003

標準ではWelcomeが指定されていますが、そのほかに四つあり、それらを指定して動作を変更することもできます。

  • Welcome (デフォルト)
  • Numbers
  • Fractions
  • Big Numbers
  • Currencies

スタートアップファイルの中身は、右側にある(i)ボタンを押すと見られ、自分で編集することもできます。

ここに関数定義を書いておくもよし、よく使う定数があったら、変数に代入しておくもよし。

「Create New File…」を選択して、新たにスタートアップファイルを作ることもできます。

スタートアップファイルの中でよく使う「Waltz」独自の関数にrequire()とjson()があります。

関数 説明
require() インターネット上のJavaScriptファイルを読み込むことができます。
使用例: require(“https://cdnjs.cloudflare.com/ajax/libs/mathjs/2.3.0/math.min.js”)
json() インターネット上のJSONを返してくるAPIにアクセスし、オブジェクトにデシリアライズできます。インターネットから通貨レートを読み込んでおいて、最新のレートで計算する、といったような使用目的が想定されています。
使用例: var json = json(“https://openexchangerates.org/latest.json”)

スタートアップファイルは「Waltz」の魂。スタートアップファイルの中身を充実させていって、自分の好みに仕立てていく楽しみがあります。

「Waltz」の便利さ

ここまでを振り返って「Waltz」の便利さをまとめておくと、

  • 少しずつ条件を変えて計算をするようなときに、式を部分的に変更するのが雑作もなくできること
  • 電卓ではM+、M-ボタン、つまりメモリ機能の活用が必要な括弧付きの計算を、そのまま入力して計算できること
  • スタートアップファイルの充実で自らの手で育てていくことができること

ということになります。

「Waltz」の不便なところ

テキストエディタ準拠なので、電卓として見たときに、ソフトウェアキーボードを使った入力が非効率と感じる人はいるかもしれません。

Waltz a native calculator in a smart scratchpad 00004

同一の作者による、テンキーベースのカスタムキーボード、「Touch and Go!」というものが用意されており、「Waltz」とのバンドルが単品と同価格で販売されているので、これを使って補うことができます。

トラブルシュート

一度だけ、アプリを切り替えたときに入力したものがリセットされてしまうという症状に見舞われたことがあります。

アプリを完全に終了させると入力内容はリセットされますが、アプリをバックグラウンドに回しただけではそうなることはありません。

一度アンインストールしてから再インストールしたら直りました。もしそういう症状になったら参考にしてください。

あとがき

計算機といえば、電卓を再現、電卓を発展させたアプリがほとんどですが、実は電卓の形をしている必要はないのではないでしょうか。

以前より同種のSoulverというアプリも使っていますが、JavaScriptの柔軟性を備えた「Waltz」は、シンプルながら要所を押さえた使い込む価値のあるアプリです。

Waltz — a native calculator in a “smart scratchpad”App
カテゴリ: Education
販売元: Frederic Blondiau(サイズ: 1.0 MB)
全てのバージョンの評価: (0 件の評価)

※リンク先は、カスタムキーボードとのバンドルになっています(カスタムキーボードとのバンドルでも同価格)

 - iOS