差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| tutorial:nim:variables_and_constants [2024/08/20 02:05] – ↷ tutorial:nim:variables-and-constants から tutorial:nim:variables_and_constants へページを名称変更しました。 freemikan | tutorial:nim:variables_and_constants [2025/05/20 11:19] (現在) – 削除 freemikan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== 変数と定数 ====== | ||
| - | |||
| - | 何らかの値に名前をつけるには、変数と定数を利用する方法があります。 | ||
| - | |||
| - | ===== 変数 ===== | ||
| - | |||
| - | 変数を扱うには'' | ||
| - | |||
| - | '' | ||
| - | |||
| - | <file nim> | ||
| - | var x = 99 | ||
| - | echo x # | ||
| - | |||
| - | x = 100 | ||
| - | echo x # | ||
| - | </ | ||
| - | |||
| - | |||
| - | '' | ||
| - | |||
| - | <file nim> | ||
| - | let x = 99 | ||
| - | x = 100 # コンパイルエラー | ||
| - | </ | ||
| - | |||
| - | このコードをコンパイルしようとするとエラーになります。 | ||
| - | |||
| - | Error: ' | ||
| - | |||
| - | 代入しようとしているところで失敗しています。 | ||
| - | |||
| - | ===== 定数 ===== | ||
| - | |||
| - | 定数を扱うには'' | ||
| - | |||
| - | <file nim> | ||
| - | const THE_ANSWER = 42 | ||
| - | const PI = 3.1415926535897 | ||
| - | </ | ||
| - | |||
| - | 定数の値はコンパイル時に評価できる値でなければなりません。従って次はエラーになります。 | ||
| - | |||
| - | <file nim> | ||
| - | let x = 1 | ||
| - | const ONE = x # コンパイルエラー | ||
| - | </ | ||
| - | |||
| - | コンパイルしようとするとエラーになります。 | ||
| - | |||
| - | Error: cannot evaluate at compile time: x | ||
| - | |||
| - | 当然、定数は値を後で変更することは出来ません。 | ||
| - | |||
| - | ===== var、let、constの使い分け ===== | ||
| - | |||
| - | '' | ||
| - | |||
| - | '' | ||
| - | |||
| - | いずれにしても絶対的なルールはありません。センスが問われるところでもあります。 | ||
| - | |||
| - | ===== 変数、定数の型 ===== | ||
| - | |||
| - | Nimは[[wpjp> | ||
| - | |||
| - | <file nim> | ||
| - | let x: int = 99 | ||
| - | const PI: float = 3.1415926535897 | ||
| - | </ | ||
| - | |||
| - | 上の例では特にメリットはありませんが、場合によっては、明示的に型を記述する方が意図が明らかになり、コードが読みやすくなる場合があります。 | ||
| - | |||
| - | 記述した型と値の型が一致しなければ、コンパイル時にエラーになります。 | ||
| - | |||
| - | <file nim> | ||
| - | let x: int = 1.2 | ||
| - | </ | ||
| - | |||
| - | 次のようなエラーメッセージが出力され、コンパイルに失敗します。 | ||
| - | |||
| - | Error: type mismatch: got ' | ||
| - | |||
| - | 浮動小数点数が自動的に整数に変換されることはありません。 | ||
