scanf
Lua ( Cなど) でユーザーから入力を取得するにはどうすればよいですか?
たとえば、プログラムがユーザーに自分の名前を尋ね、ユーザーが自分の名前を書くと、プログラムは自分の名前を出力します。
質問する
74822 次
2 に答える
38
io.read()を使用します。関数はさまざまなパラメーターでカスタマイズできることに注意してください。下記は用例です。
s = io.read("*n") -- read a number
s = io.read("*l") -- read a line (default when no parameter is given)
s = io.read("*a") -- read the complete stdin
s = io.read(7) -- read 7 characters from stdin
x,y = io.read(7,12) -- read 7 and 12 characters from stdin and assign them to x and y
a,b = io.read("*n","*n") -- read two numbers and assign them to a and b
于 2012-08-22T09:40:32.860 に答える
11
最も単純な入力は、 を使用して取得できますio.read()
。これは、標準入力 (通常はキーボードですが、ファイルなどからリダイレクトできます) から 1 行を読み取ります。
次のように使用できます。
io.write('Hello, what is your name? ')
local name = io.read()
io.write('Nice to meet you, ', name, '!\n')
io.read()
は の単なるショートカットでio.input():read()
あり、同様にio.write()
へのショートカットio.output():write()
です。ここの API を参照してread()
ください。
io.write()
のように回線を自動終了しないことに注意してくださいprint()
。
于 2012-08-22T09:19:50.943 に答える