変数をインクリメントするループを設定する必要がありますが、最初に実行しません。これはコードです、私は近くにいるので、私はいくつかのガイダンスを期待しています。数値をインクリメントしますが、初めてスキップします
offset = 0
while do
if offset = 0
nil
else
offset += 1
end
end
変数をインクリメントするループを設定する必要がありますが、最初に実行しません。これはコードです、私は近くにいるので、私はいくつかのガイダンスを期待しています。数値をインクリメントしますが、初めてスキップします
offset = 0
while do
if offset = 0
nil
else
offset += 1
end
end
offset = 0
first_loop = true
loop do
offset += 1 unless first_loop
code here
first_loop = false
end
あなたの試みの問題がいくつかあります。まず、文if offset = 0
は、offset
が0に等しいかどうかをチェックしていません。それはに設定されています。ゼロに設定されています。等価性をチェックするには、==
を使用します。
を第二に、あなたが最初の問題を解決したとしても、あなたの状態のelse
は決して火災、offset
ので、常にゼロになり、したがって、インクリメントすることはありませんでしょう。
第三に、あなたはif
ブロックには何の関係も持っていない場合、あなたは、nil
を置くだけelse
に直接スキップする必要はありません。
if offset == 0
else
offset += 1
end
さらに良いことに、ちょうど式を否定してスキップelse
完全:
if offset != 0
offset += 1
end
はまた、while do
は、有効なRubyの構文ではありません。 while true do
のように書くか、loop do
を使用してください。
より一般的に言えば、インクリメントされたオフセットの前にあなたには、いくつかのコードを実行する必要がある場合は、ちょうど前にそのコードを入れてインクリメントされたオフセット:
offset = 0
loop do
# your code goes here
offset += 1
end
をそしてここで、より「ルビーっぽい」方法ですそれを行うには:
0.step do |offset|
# your code goes here
end
これが役に立ちます。
ああ!私はどこが間違っているのか分かります。ありがとうございました! – Yeager