通常の演算(比較演算や、配列演算以外)の場合、自動的な型変換が行われます。
(型1) <演算子> (型2)
の計算の場合、(型2)を(型1)に変換してから、演算を行います。
型変換は、次の表のようになります。
変換前の型 | 変換後の型 | |||||||
整数 | 実数 | 文字列 | 配列 | クラス | インスタンス | シンボル | void | |
整数 | - | ○ | ○ | × | × | × | × | × |
実数 | ○ (1) | - | ○ | × | × | × | × | × |
文字列 | ○ (2) | ○ (3) | - | × | × | × | ○ | × |
配列 | 0 | 0.0 | "<Array>" | - | × | × | × | × |
クラス | 0 | 0.0 | "<Class>" | × | - | × | × | × |
インスタンス | 0 | 0.0 | "<Instance>" | × | × | - | × | × |
シンボル | × | × | ○ | × | × | × | - | × |
void | 0 | 0.0 | "<void>" | × | × | × | × | - |
- | 変換不要 |
○ | 変換可能 |
× | 変換不可 |
(1) | 変換可能、小数点以下切捨て |
(2) | 変換可能、変換失敗時の値は0 |
(3) | 変換可能、変換失敗時の値は0.0 |