Lua Программирование с ComputerCraft
Я создал небольшую программу, которая запрашивает длину и высоту, которые вы хотите, чтобы моя шахтерская черепаха. Когда я запускаю его на продвинутом компьютере, он позволяет запрашивать длину, ширину и высоту, но затем я получаю ошибку. Ошибка заключается в следующем:
Майнер: попытка индексировать? (нулевое значение)
Вот мой код:
term.clear()
term.setCursorPos(1,1)
write("Length:")
length = read()
print()
write("Confirm:")
ul = read()
print()
write("Width:")
width = read()
print()
write("Confirm:")
uw = read()
print()
write("Height:")
height = read()
print()
write("Confirm:")
uh = read()
print()
local totcount = ul + uw + uh
local subcount = 0
function Length()
repeat
turtle.dig()
turtle.forward()
length = length - 1
subcount = subcount + 1
until length == 0
length = ul
end
function Width()
repeat
turtle.dig()
turtle.forward()
width = width - 1
subcount = subcount + 1
until width == 0
width = uw
end
function Height()
turtle.digDown()
turtle.down()
height = height - 1
subcount = subcount + 1
end
function Turn()
turtle.turnRight()
end
repeat
Length()
Turn()
Width()
Turn()
Length()
Turn()
Width()
Turn()
Height()
until subcount == totcount
1 ответ
Это не выглядит ни одна из ваших функций end
, исправь это в первую очередь. Если вы правильно сделаете отступ в своем коде, вы увидите это.
У вас также есть while count < length do
с else
блок. AFAIK это неверный синтаксис (никогда не видел его и просто проверил онлайн-руководство и вики). Не понятно, имелось ли в виду if count < length do
, но если действительно имелось в виду while
затем заменить else
от end
тоже не выглядит правильно. Внимательно посмотрите на этот раздел кода.