Specript Language Reference rev.0.7.0 www.specript.org

目次 | << 前章 | 次章 >>

3.タイプと値

Specriptには言語組み込みで下記のタイプが存在します。それぞれには対応するJavaオブジェクトが 規定されています。Specriptのタイプと対応Javaオブジェクトには取り得る値について互換性が あります。

タイプ 説明 対応Javaオブジェクト
integer 整数値(概念的に整数) -9223372036854775808以上、9223372036854775807以下の整数 java.lang.Long
decimal 10進数値(概念的に10進数の有限小数) 特定の有限な精度を持つ10進数値 java.math.BigDecimal
real 浮動小数点数値(概念的に任意の実数)
java.lang.Double
boolean 2値 真(true)または 偽(false java.lang.Boolean
string 文字列値 長さ0を含む任意の長さのUnicode文字の列 java.lang.String
date 日付値 年月日のみを表現 java.sql.Date
timestamp 日時値 年月日時分秒ミリ秒を表現 java.sql.Timestamp
record 任意のタイプの要素を任意の数包含するレコードもしくは構造体 record生成式で表現できるような値/recordlistmapは相互に再帰的な構造を取り得る org.specript.common.Record
list 特定のタイプの値の順列/リストもしくは配列 list生成式で表現できるような値/recordlistmapは相互に再帰的な構造を取り得る java.util.List
map 特定のタイプの値の組み合わせで、その値をキーとして他の特定タイプの 値を関連付けて保持する/マップもしくは連想配列 map生成式で表現できるような値/recordlistmapは相互に再帰的な構造を取り得る java.util.Map

Specriptでは参照タイプはありません。recordlistmapを 含む全てのタイプが‘値’扱い(by-value)となります。例えば、下記コードで、

【例】
    property a:record = {x = 1, y = "abc"};  // 初期化式がrecord生成式であるproperty
    property b:record = {x = 1, y = "abc"};  // 初期化式がrecord生成式であるproperty
    property r:boolean = a == b;  // r == trueとなります。
    

"a"と"b"はrecordタイプの異なるproperty(のインスタンス)ですが、 同一の‘値’を保持しています。そして、"a == b"は"true"を 返します。

式、演算子について第8章を参照してください。

目次 | << 前章 | 次章 >>


(c)2007-2008, Specript Development Team Last Updated: 2008-03-06