wrongwrongな開発日記

しんまいさんの忘備録

【Kotlin】mXparserを使う【Java】

mXparserを使ってみました。

mXparserとは

Stringで諸々を入力してやることで数式を計算できるライブラリです。Javaや.Net、AndroidやXamarinといった多くの環境で動きます。Javaで動くので当然Kotlinでも動きます。
機能も充実しており、大体の計算はできます。
詳しくは公式ページを参照してください。

やったこと

練習がてら以下の画像*1の例をKotlinに写経しました。
http://mathparser.org/wp-content/uploads/2017/05/mxparser-demo-r2.gif

ソースコード
import org.mariuszgromada.math.mxparser.*;

fun main(args:Array<String>) {
    /*
     * 三角形の面積
     */
    val At = Function("At(b, h) = 1/2 * b * h") //関数を設定
    val e1 = Expression("At(2, 4)", At) //実行内容を設定
    mXparser.consolePrintln(e1.expressionString + " = " + e1.calculate()) //実行と出力

    var b = Argument("b = 3") //引数を設定
    var h = Argument("h = 10")
    var e2 = Expression("At(b, h)", At, b, h) //引数をセット
    mXparser.consolePrint(e2.expressionString + " = " + e2.calculate()) //実行と出力
}
実行結果
[mXparser-v.4.1.1] At(2, 4) = 4.0
[mXparser-v.4.1.1] At(b, h) = 15.0

導入方法

Intelij IDEAでの導入方法です。というか.jarの導入方法です。
ダウンロードページから.zipを落としてきて、中身をどこかに解凍します。
f:id:wrongwrongwrongwrong163377:20180710144735p:plain
解凍したディレクトリから[path to dir]MathParser.org-mXparser-[version]/bin-only/jdk.1.8/MathParser.org-mXparser-jdk18-[version].jarを探し、以下の手順で導入できます。
stackoverflow.com

*1:公式ページJAVA Demoより引用。