通常の演算(比較演算や、配列演算以外)の場合、自動的な型変換が行われます。
(型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 |