私のパラメータの一部が変更され、再起動された場合、私のESPモジュールの動作を変更したい。私はこれのようなものを意味する。ESPでリブート後のパラメータ変更を実現するwifi(ルア)
if (????) then print ("default value") else print ("modified value") end
は、まず私は、ファイルにフラグを書き込むのと思ったが、それはまだ存在していない場合には、起動時にエラーが発生します。 もっと良いアイデアですか?
私のパラメータの一部が変更され、再起動された場合、私のESPモジュールの動作を変更したい。私はこれのようなものを意味する。ESPでリブート後のパラメータ変更を実現するwifi(ルア)
if (????) then print ("default value") else print ("modified value") end
は、まず私は、ファイルにフラグを書き込むのと思ったが、それはまだ存在していない場合には、起動時にエラーが発生します。 もっと良いアイデアですか?
再起動を超えて値を保存する場合は、不揮発性メモリに値を保存する必要があります。だからすでに提案したように、ファイルを使うのは良い方法です。
残念ながら、あなたがまだ存在しないときに、フラグやファイルが存在しないと言っていないときに、あなたが受け取ったエラーメッセージは表示されませんでした。
あなたがしなければならないことは、エラーを処理することです。したがって、ファイルが存在しない場合は、新しいファイルを作成するか、プログラムのデフォルトの内容のファイルを作成するようにユーザーに依頼してください。 同じことがフラグに付きます。ファイルにフラグがまだ含まれていない場合は、デフォルト値を使用するか、ユーザーに値を与えるように依頼します。
長いことを学んだり、適切に処理したりすると、間違いなくエラーになることはありません。
io.open(filename[,mode])
は、エラーの場合はエラーメッセージnil
とエラーメッセージを返します。 C:\ superfile.txt:そのようなファイルやディレクトリはありませんので、あなたがそのファイルを持っていない場合には、あなたが
ファイルアクセスエラーが発生します
local fileName = "C:\\superfile.txt"
local fileHandle, errorMsg = io.open(fileName)
if not fileHandle then
print("File access error: ", errorMsg)
-- add some error handling here
end
: だから、単にような何かを
ファイルが存在しない場合は、新しいファイルを作成するように頼んでください。不確かです – Steve
"ファイルが存在しない場合は、新しいファイルを作成するようにユーザーに依頼してください。それはタイトルで言及されているように、質問はESPマイクロwifiボードについてです。 Wi-Fi通信でパラメータを変更すると、再起動後に変更された自律的な動作が予想されます。 – Steve
@steveユーザーとのやりとりは一般的な選択肢の1つに過ぎません。もちろん、ハードコードされたデフォルト値を使用することを提案しましたが、もちろん組み込みシステムに適しています。例外的な状況を解決するには、ファイルエラーを処理する必要があります。 – Piglet