Frinkには、よく使われる三角演算、丸め、基数変換のほか、乱数の取得や対数/指数の計算のための関数や合同算術の実行に役立つ関数など、組み込み関数がひと通り用意されている。また、整数論に関する計算や文字列操作のための関数も存在する。
デフォルトでは国際単位系になっているFrinkの表示単位は、「dimension :-> measure」という構文で変更できる。以下のように、Fahrenheit(ファーレンハイト)関数を使って得られた結果も、デフォルトでは絶対温度(K:ケルビン)で表示される。また、かっこ内には次元が示されている。真ん中のコマンドでは、温度(temperature)に対するデフォルトの単位をCelsius(セルシウス温度)に変更している。最後のコマンドでは、Fahrenheit関数の代わりにFrinkで定められた短縮形の“F”を使っているが、その結果は、明示的な変換を施さなくても、直前のコマンドで指定した単位、セルシウス度で表示されているのがわかる。なお、デフォルトで利用可能な関数については、frink.jarファイル内のunits.txtファイルを参照してほしい。
Fahrenheit[98.6] 310.15 K (temperature) temperature :-> Celsius F[98.6] 37.0
Frinkコマンドが記述されたファイルを読み取る「-f」オプションと、ファイルの実行後も入力を受け付けるための「-k」オプションを使ってFrinkを呼び出せば、結果表示の単位を容易にカスタマイズできる。「-k」オプションが必要なのは、「-f」オプションで読み込んだ設定ファイルでは「dimension :-> unit」によるデフォルト単位の設定しか行わず、そのあとはコンソールから計算式を与えられるようにFrinkを入力待ちの状態にしておくためである。
なお、Frinkの機能には、最新の情報を得るためにインターネット接続を必要とするものがある(通貨換算や言語変換など)。その場合は、こうしたサービスで利用するWebプロキシ情報を設定する必要があるだろう。
まとめ
GUIの選択肢を数多く持ち、それ自体もJavaで書かれているFrinkは、処理能力の限られたモバイルデバイスからマルチコアCPUの高性能デスクトップマシンまで、さまざまなプラットフォームで実行できる。
よく使う計算を再利用可能な関数にするための言語が用意されているというだけでも、Frinkはすばらしい簡易計算ツールだ。より複雑なアプリケーションをFrinkに追加するにはPythonやPerlが必要かもしれないが、Frink上でループ構文やif/else構文でユーザの入力や正規表現が利用できることを知っておいても損はないだろう。
Ben Martinは10年以上前からファイルシステムに携わっている。博士号を持ち、現在はlibferris、各種ファイルシステム、検索ソリューションを中心としたコンサルティング業務に従事。
