Double
はじめに
「見た目は JavaScript、頭脳(中身)は Ruby、(安定感は AC/DC)」 でお届けしているスクリプト言語 Kinx。言語はライブラリが命。ということでライブラリの使い方編。
今回は Double です、... と言いつつ、Double 組み込み特殊メソッドは少ないので、短い記事です。
- 参考
- 最初の動機 ... スクリプト言語 KINX(ご紹介)
- 個別記事へのリンクは全てここに集約してあります。
- リポジトリ ... https://github.com/Kray-G/kinx
- Pull Request 等お待ちしております。
- 最初の動機 ... スクリプト言語 KINX(ご紹介)
Double 特殊オブジェクト
Double オブジェクトに対して関数定義する例は以下の通り。
Double.minus1 = function(value) {
return value - 1;
};
var val = 100.5.minus1();
System.println(val);
実行してみよう。
99.5
他の特殊オブジェクトと同様、レシーバーが第 1 引数に来ます。
Double
組み込み特殊メソッド
メソッド | 意味 |
---|---|
Double.toString(val, format) |
val を文字列に変換する。format は % で始まり、a 、A 、e 、E 、f 、F 、g 、G のいずれかで終わる文字列。省略時は %g
|
Double.toInt(val) |
val を Integer に変換する。 |
format
は現在プレビュー版ではサポートされていません。正式版ではサポート予定です。というのも、これを書いていてあったほうが良いなー、と思ったということで。
Math オブジェクト・メソッド
Double オブジェクトには Math オブジェクトと同じ特殊メソッドが存在する。詳細は以下を参照。
具体例で書くと、例えば以下のように書ける。
var a = 2.0.pow(10); // Math.pow(2.0, 10) と同じ => 1024
var b = (-10.8).abs(); // Math.abs(-10.8) と同じ => 10.8
単項マイナス(-
)は関数呼び出しより優先順位が低いため、カッコで括る必要があることに注意。
おわりに
Integer 同様、ここ を見ながら今サポートしてないメソッドとかを順次サポートしていこうかなー。
ではまた次回。