型変換
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 32/90。
入力を別の型に変換するには、変換関数を使います。
文字列を数値に変換するには、次のように書きます。
var = io.read()
var = tonumber(var)または、1行で書くと、
var = tonumber(io.read())入力が 5、4、54 などの数値なら、varには数値が格納されます。入力に 5ab、bb、akt などの無効な数値が含まれている場合、tonumber()はnilを返します。
変換関数は次の2つです。
| 関数 | 説明 |
| tonumber() | 数値に変換する |
| tostring() | 文字列に変換する |
適切な型を使うことが重要です。型によって出力が変わることがあるためです。
2つの文字列を連結すると、次の結果になります。
"5" .. "5" = "55"
2つの数を足すと、次の結果になります。
5 + 5 = 10
Luaは算術演算で数値を表す文字列も自動的に変換します。
"5" + 5は10になります。tonumber()で変換するほうが、やはり意図が明確で、入力をチェックすることもできます。テキストが数値でない場合、nilを返すためです。
チャレンジ
初心者この課題では、複数の入力を扱い、計算を行います。
複数の入力を受け取る方法:
var1 = io.read() -- First input
var2 = io.read() -- Second inputあなたの課題:
- 入力から最初の数値を読み取り、変数に格納する
- 入力から2番目の数値を読み取り、別の変数に格納する
- 数値計算のために、両方の変数をnumber型に変換する
- この2つの数値の積を計算する
- 結果を出力する
例:
入力が2と4.5の場合、プログラムは9を出力する必要があります。
覚えておきましょう: 各テストケースには、順番にちょうど2つの入力が含まれます。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ