Snusmumriken
спасибо, получается после кавычек сразу .. точки '..
"две" .. "точки" — это конкатенация (склеивание) строк. Тебе надо склеить две строки — берёшь одну строку, потом берёшь другую и склеиваешь двумя точками.
В жаваскрипте/питоне вместо отдельного оператора .. используется +, типа мы "складываем" строки. Но в луях — отдельный оператор.
Snusmumriken
Глянь краткую доку, будет быстро: http://tylerneylon.com/a/learn-lua/
Попов
я JS, PHP, Python знаю... С Lua сегодня первый день) Ба
Попов
Да я заметил, что затупил в кавычках
Snusmumriken
Ну вот если знаешь другие скриптовые ЯП — эта краткая дока будет к месту.
Попов
ага, спс... просто меня почему то от него немного тошнит((( или от задачи
Snusmumriken
Различий с жаваскриптом тут не очень много. Считай что это такой ЖС, но без автоматической конверсии типов. Ну и do-end, и индексацией массивов с единицы.
Korsar
Korsar
по ней тоже учил, ночами сидел... )
Попов
да, это понятно. просто меня климануло то, что дока по библиотекам непонятная. Сборка модулей под него конечно, тоже немного гемор (у меня без ручного указания инклудов не собиралось)
Попов
синтаксис еще фиг с ним, тут ведь библиотеки важны
Snusmumriken
А вот стандартов по оформлению либ и документации тут нет : )
Луарокс разве что, как пм.
Попов
да, мне бы задачу решить и забыть как страшный сон... немного конечно радует то, что когда придет другой специалист я буду дико злорадствовать))))) ахах
Попов
шучу конечно, но дымиться у кого то будет так же)
Snusmumriken
Ладысь : )
Заха́р
Привет, мир!
Скажите, а возможно ли средствами Луа переименовать путь файла?
Ситуация такая. Требуется переместить файл относительно текущего положения, скажем, на два уровня вверх по иерархии каталогов. И есть скрипт, который реализует переименование файлов. Хотелось бы в этой операции осуществить вместе с переименованием одновременно и перемещение файла.
Так например,
/корень/каталог1/каталог2/каталог3/имя-файла.расширение
переместить «имя-файла.расширение» в «каталог1».
Возможно ли это?
Микита
Здравствуйте, как мне распарсить json и получить доступ к каждому отдельному элементу? Что-то уже час потратил, так ничего и не понял, вот так только получилось:
Микита
выводит вот такое:
[
{"mid": 66, "name": "Nikita_Cerber", "body": "\u0414\u0430\u0440\u043e\u0432\u0430!!!"},
{"mid": 99, "name": "Oleg_Burmak", "body": "Broken eyes..."}
]
а как я могу получить доступ к отдельному элементу? Например только к {"mid": 66, "name": "Nikita_Cerb...} ?
Микита
response_body[1] возвращает nil
Микита
хотя вроде должно работать, это таблица
Микита
как такое может быть?
Luсky
стековерфлоу, филиал. гы-гыг
Микита
а это точно строка? просто type(response_body) возвращает table
Микита
я поэтому и пытался с ней работать как с таблицей
Микита
local lua_value = JSON:decode(response_body)
print("RESPONSE:")
print(lua_value)
attempt to index global 'JSON' (a nil value)
stack traceback:
-.-
Микита
какая-то ошибка, капец, ещё никогда обычный json не забирал у меня столько времени
Александр
Александр
Микита
for key, value in pairs(response_body) do print(key, value) end
Александр
То есть table.concat выводит, а это - нет? :)
Микита
выводит тоже самое что и table.concat
Микита
а еще просто response_body[1] тоже самое возвращает что и table.concat(response_body)
Микита
что странно для меня
Микита
я ожидал
что response_body[1] вернет мне первый элемент из таблицы
Микита
🤯
Arslan
Дичь. Ничего не понял🐈
Arslan
Микита
print(response_body[1]) возвращает:
[{"mid": 66, "name": "Nikita_Cerber", "body": "\u0414\u0430\u0440\u043e\u0432\u0430!!!"}, {"mid": 99, "name": "Oleg_Burmak", "body": "Broken eyes..."}]
print(table.concat(response_body)) возвращает:
[{"mid": 66, "name": "Nikita_Cerber", "body": "\u0414\u0430\u0440\u043e\u0432\u0430!!!"}, {"mid": 99, "name": "Oleg_Burmak", "body": "Broken eyes..."}]
Микита
одно и тоже
Микита
нафиг этот table.concat вообще нужен...
Arslan
А просто response_body?
Микита
table: 0x06b46ff0
Arslan
Сделай так и покажи:
for k,v in pairs(response_body) do
print(k,': ',v)
end
Микита
1 : [{"mid": 66, "name": "Nikita_Cerber", "body": "\u0414\u0430\u0440\u043e\u0432\u0430!!!"}, {"mid": 99, "name": "Oleg_Burmak", "body": "Broken eyes..."}]
Arslan
Ну вот. Тебе нужно распарсить response_body[1]
Arslan
Это строка
Микита
я попробовал так:
local lua_value = JSON:decode(response_body[1])
но получаю ошибку
attempt to index global 'JSON' (a nil value)
stack traceback
Arslan
Дык у тебя нету JSON`на
аннлн
local json = require 'cjson'
аннлн
local lua_value = json.decode(response_body[1])
Arslan
Arslan
Без разницы
Микита
надо установить с гита этот модуль?
Arslan
Ага
Микита
ох и хлама там на гите
Arslan
@annelion помоги найти
Микита
Микита
что из этого мне закинуть в lib? 😂
Arslan
make install
и готовую либу в lib
Микита
ну это понятно, у меня видимо проблема с установкой cjson
Микита
щас вроде установил
Микита
попробую
Микита
о все разобрался
Микита
всем спасибо
Микита
❤️ ❤️ ❤️
Микита
а что можно сделать с кодировкой?
ожидалось:
{"mid": 66, "name": "Nikita_Cerber", "Дарова!!!"}
а получает:
{"mid": 66, "name": "Nikita_Cerber", "body": "Дарова!!!"}
fgntfg
iconv
fgntfg
Luсky
Luсky
Микита
в cjson'e? он вроде не умеет конвертировать
Luсky
в нотепад ++
Микита
причем тут нотепад?
Микита
мне же json с сервера приходит, я его не руками вбиваю
Luсky
а, ну, выковыривай из модуля таблицу замены
Arslan