Lua-дағы кестелер - жалғыз құрылымдық элемент, олар массивтің, хэш-кесте («кілт»-«мағынасы»), құрылым, объект қасиеттерін жинақтаған.
Кестелерді сөздіктер ретінде пайдалану, үнсіздік бойынша кілттер жолдар болып келеді:
t = {key1 = 'value1', key2 = false}
Кілттерге нүктеден өтуге болады:
print(t.key1) -- 'value1' дегенді шығарып береді.
t.newKey = {} –жаңа кілт-мән жұбын қосу.
t.key2 = nil -- кестеден key2 өшіру.
Кілт ретінде жолды пайдаланбау:
u = {['@!#'] = 'qbert', [{}] = 1729, [6.28] = 'tau'}
print(u[6.28]) -- "tau" басып шығару
Кілт сандардың немесе жолдардың мәніне сәйкес келеді, бірақ кестелерге бірдей:
a = u['@!#'] -- Енді a = 'qbert'.
b = u[{}] -- Мән 1729 болатын секілді, бірақ ол nil:
b = nil, іздеу нәтижесі болмағандықтан; пайдаланылатын кілт түпнұсқасы мән сақталатын нысанға ұқсас емес (кестені пайдалану себебінен).
Бір оператормен функция үшін жақша талап етілмейді:
function h(x) print(x.key1) end
h{key1 = 'Sonmi~451'} – 'Sonmi~451' басып шығарады.
for key, val in pairs(u) do – Кесте бойынша цикл.
print(key, val) end
Тізімдер мен массивтерді пайдалану
Тізімдердегі кілттер int типіне ие:
v = {'value1', 'value2', 1.21, 'gigawatts'}
for i = 1, #v do -- #v бұл тізімнің өлшемі.
print(v[i]) -- Индекстер 1-ден басталады!
end
'list' – бұл тип емес, v – кесте ретінде өнделетін, тізбекті тұтас кілтті кесте.
БАҚЫЛАУ СҰРАҚТАРЫ
Lua-да неше және қандай типтер бар?
Lua-да циклді қалай жазуға болады?
Lua-да кестелерді қалай сипаттайды?
Lua-да көп жолды комментарийлер қалай жазылады?
ӘДЕБИЕТТЕР ТІЗІМІ
Основы разработки и программирования робототехнических систем. С.В.Сорокин, И.С.Солдатенко. : учеб. пособие. – Тверь: Твер. гос. ун-т, 2017. ISBN 978-5-7609-1232-9
Coppelia Robotics V-REP: Create. Compose. Simulate. Any Robot. — URL: http://www.v-rep.eu/
“Comparative Analysis Between Gazebo and V-REP Robotic Simulators” Lucas Nogueira, School of Electrical and Computer Engineering Universidade de Campinas
Достарыңызбен бөлісу: |