1

アナログ時計に時刻(12時間)を表示させようとしていますが、Luaを使用する必要があります。この形式で時間を取得するには、次の行を使用します。

os.date('%I:%M')

nilエラーが発生し続けるため、これは明らかに機能しません。これがコードの唯一の問題です。os.timeは正常に機能しますが、os.dateは機能しません。'%I:%M'(当時の形式)なしで試しても、os.date()では機能しません。

私は何が間違っているのですか?他のライブラリから日付関数をインポートする必要がありますか?私は完全なLuanoobyです...

私は実際にMinecraftでComputerCraftのモニターを動作させるためにそれを使用していますが、コードは次のとおりです。

m = peripheral.wrap('back')
m.setTextScale(5)
while i == i do
m.clear()
m.setCursorPos(1,1)
x = os.date('%I:%M')
m.write(x)
sleep(60)
end

ただし、コードの残りの部分は影響しません。os.dateが唯一の問題です。これは、個別に試してみると、「nilを呼び出そうとしています」という同じエラーが発生するためです。

4

2 に答える 2

1

これによると、ComputerCraftはを公開していないようos.date()です。ここで回避策が提案されています:

残念ながら、日付と時刻は公開されていません。Luaでは、os.date()関数とos.time()関数が必要ですが、ComputerCraftでは、dateは実装されておらず、timeはMinecraftの時間を示します。

実際の日付と時刻を取得するために私が知っている唯一の方法は、httpAPIを使用してWebから取得することです。

于 2012-08-09T22:53:10.407 に答える
1

また、Minecraftの日付が必要な場合は、os.getday()

于 2014-03-23T14:45:08.310 に答える