問題タブ [computercraft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
if-statement - lua if else while ステートメントの制限はありますか?
ゲームでluaベースのコンピューター用のプログラムを作成しようとしています。実行すると奇妙な動作をしますが
実行すると、「パスワードを入力してください:」で始まり、必要なパスワードを「qwerty」で入力すると、「パスワードの修正、ロック解除」を無限にループします。間違ったパスワードを入力すると、else ステートメントのコードは実行されず、パスワードの入力画面に戻ります。エラーコードやクラッシュはありません。lua を知っている人なら、while/if/elseif 関数を間違って書いたのか、回避策を書いたのか知っていますか?
ありがとう!
http - Particle (以前の Spark) Photon にデータを投稿するときの Lua インデックス nil 値
私のいとこと私は彼の新しい Photon チップを試していましたが、私たちは創造的に ComputerCraft (Minecraft mod) といくつかの Lua コードを使用して、彼が作った車を運転することにしました。残念ながら、入力を与えるたびに nil 値をインデックス付けします。http.post コードが間違っているためなのか、それとも私たちが知らない何かが原因なのかはわかりません... 何かアイデアはありますか?
(コードの残りの部分はそれと同じに見えるため、省略記号があります)
モーターを駆動する Photon 関数に文字列を渡そうとしていますが、レッドストーン信号を作成するたびに、「Drive:11: インデックスを試みますか? (nil 値)」と表示されますが、Photon が接続されました。
variables - デフォルトでローカル変数を有効にするプログラム
そのため、Lua のグローバルなデフォルト スタイルにイライラするようになりました。その後に実行されるすべてのプログラムがグローバル変数を作成できないようにするプログラムを作成しようとしています。彼らがしようとすると、その変数はそのプログラムの関数環境に設定されます。私はこれを思いつきました、そしてそれはうまくいくようですが、何らかの理由で ComputerCraft rom/programs/edit の [edit: 9] でエラーを投げています。テストプログラムを実行すると、
それは正常に機能し、そのプログラムによるアクセスを許可しながらグローバル変数が作成されるのを防ぎますが、他のプログラムでは機能しません。_G.a や local a などをやってみましたが、どれもうまくいきます。他のプログラムで動作しない理由を知っている人はいますか?
lua - コンソールに手動でコマンドを入力すると機能しますが、プログラムでは機能しません
コマンドラインバージョンのluaですべての機能を実行できるという問題がありますが、プログラムを実行してもエラーは発生せず、終了するだけです。これを診断する方法がわかりませんが、さまざまなことに対してエラーを数回スローしようとしましたが、エラーが発生してエラーが出力されます。
プログラム全体のペーストビンへのリンクもここに残しておきます。
lua - 内部テーブルを値でソートする方法は?
ということで、タイトルの通りLuaでテーブルの並びをソートしたいと思います。そのようなネストされたテーブルの 1 つの例を以下に示します。
リストされたトップ 10 のテーブルを調べて返したいと思います。tabl[*]['amount']
それぞれの * はスルーtabl[*]['displayName']
のワイルドカードですtabl[1.0]
tabl[max.0]
完成したテーブルは次のようになります。
これがすべての人にとって理にかなっていることを願っています。
完全なネストされたテーブルへのリンク:フルピース
参考までに: テーブルがどのように返されるかを制御できません。このAPIの関数から取得しましたlistItems()
。
lua - Minecraft Lua Computercraft Turtle Script の可変スコープまたは競合状態
マイニング タートル用に次のスクリプトを作成しました。
テスト用に、サイズを 5、深さを 2 にしました。2ブロックの深さで5x5ブロックを掘削する必要があります。
何が起こるか: 亀はらせん状に長方形の領域を掘ります。次に、らせんの中心から開始位置に戻ります。今度は 1 つ下がって、'depth' 回だけ再開します。
しかし、2回目に元の位置に戻ると、奇妙な動作を示します。ジグザグに進むのではなく、左に左に進み、左に左に進み、何とか方向転換して終了します。
私はすでにそれがスコープであると想定し、変数の名前を変更しました。変数のデバッグ出力を追加しました。すべてが正しいようです。私はそれがそこで起こっていることを見つけることができません。競合状態である可能性があると思います。
どんな助けでも大歓迎です。
ありがとう、ボリス