[解決済み] Luaはstdoutをコンソールウィンドウにリダイレクトします。
2022-02-27 16:29:23
質問
私は、ユーザーにメッセージを表示する必要があるluaスクリプトを書こうとしていますが、もちろん、ホストアプリケーションは限られたサポートしか提供しません。
そこで、コンソールウィンドウを開き、print()をリダイレクトさせたいと考えています。このように動作することを期待しています。
io.stdout = io.popen('find /v ""', "w")
print("It works!")
が、パイプからの入力を待つのではなく、コンソールウィンドウをすぐに閉じてしまうだけです。
Windows 7 で lua 5.1 を使用する
編集:気づいたのですが
find
コマンドはパイプが閉じられると終了します。パイプからの読み込みに失敗しているか、パイプが早く閉じている可能性はないでしょうか?
解決方法は?
Windowsで出力用のコンソールを開くには、これが有効だとわかりました。
local out = io.popen('find /v "" > con', "w")
function print(s)
out:write(s.."\r\n") --\r because windows
out:flush()
end
print("It really works this time!")
findコマンドは、指定された
stdout
を提供します。
> con
を設定するように指示します。
stdout
をコンソールに送信し、コンソールを開いたままにしておきます。
関連
-
[解決済み] LUA がグローバルな nil 値のインデックスを作成しようとした
-
[解決済み] Luaにおけるmath.random()とmath.randomseed()の違いについて
-
[解決済み] LuaでNewLine( \n) alternative?
-
このエラーは、LUA が nil 値(グローバル 'loadstring')を呼び出そうとしたときに発生しました。
-
グローバルな 'setmetatable' (nil 値) または同様のものを呼び出そうとすると、lua がエラーを報告する。
-
luaのエラーまとめ
-
[解決済み] excavate 5」のようなコンピュタークラフトプログラムを実行するには?
-
[解決済み】Luaの文字列をintに変換する
-
[解決済み】Luaの.と:の違いについて
-
[解決済み] Luaテーブルのエントリ数を取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン