2

Lua を始めたばかりで、ユーザー入力に問題があります。何をしても、io.read() は常に nil を返します。

これは私が試したもので、何も機能しません。

name = io.read()
print(name)

name = io.read(7)
print(name)

print(io.read:())

これらはすべて単純に nil を出力します。ユーザーが実際に値を入力する前に、何が起こっているのかnameが設定されていると思います。io.read()

これ:

 while not name do name = io.read()
 print name

おそらく、ループが完了し、アプリが一瞬のうちに更新されるため、一種の短絡でプログラムがクラッシュするだけです。

私は Windows 用の wxLua 環境を使用しています。ダイアログ バージョンでは、これらのプログラムは正常に動作しますが、明らかにそれで多くのことを行うことはできません。

4

1 に答える 1

1

なぜあなたが試しているのかio.read(7)わかりませんが(これは7バイトを読み取るため)、次のスクリプトはwxluaで機能します(ただし、ここで入手できる独自のコンパイル済みwxlu​​aライブラリを使用します):

require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "\n")
于 2015-03-04T22:27:43.950 に答える