tutorial:nim:variables_and_constants
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン | |||
tutorial:nim:variables_and_constants [2024/08/20 02:05] – 削除 - 外部編集 (不明な日付) 127.0.0.1 | tutorial:nim:variables_and_constants [2024/08/20 02:05] (現在) – ↷ tutorial:nim:variables-and-constants から tutorial:nim:variables_and_constants へページを名称変更しました。 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 ' | ||
+ | |||
+ | 浮動小数点数が自動的に整数に変換されることはありません。 | ||