Публикации по теме 'crystal-lang'


Из БД в JSON с помощью Crystal
В этом посте мы расскажем, как передавать данные из базы данных через HTTP в формате JSON. Crystal позволяет нам создать реализацию, которая не сильно нагружает ресурсы, избегая ненужного выделения памяти промежуточным объектам, когда это возможно. Этого можно добиться благодаря API этих модулей: JSON , Http :: Server :: Response и DB . Наша цель - создать две конечные точки HTTP: GET / , который перечислит все таблицы в БД GET /:table_name , который ответит содержимым таблицы..

Вопросы по теме 'crystal-lang'

Как создать экземпляр класса из имени строки в Crystal?
Мне нужен хрустальный эквивалент этого: clazz = 'ExampleClass'.constantize # Rails clazz = Object.const_get('ExampleClass') # pure Ruby obj = clazz.new
744 просмотров
schedule 12.01.2023

undefined 'ноль' метода для Nil: Класс, когда #sum the Array без Nils
Проблема возникает, когда переменная, из которой был построен массив, изначально была nil . y = (1..2).map do v = nil v = 1 v end p y # => [1, 1] p y.class # => Array(Int32) p y.sum # => 2 Когда v перестает быть nil...
211 просмотров
schedule 27.02.2022

Есть ли эквивалент Pry for Crystal?
Я новичок в кристальном языке. Я хотел бы знать, существует ли в Crystal отладчик вроде Ruby's Pry? Это означает, что вы можете поместить в код что-то вроде 'binding.pry' при остановке выполнения программы в этой строке и позволить вам управлять...
1869 просмотров
schedule 02.12.2023

есть ли способ автоматической перекомпиляции с помощью crystal (он же nodemon/supervisor)
Я просто изучаю язык и играю с файлом, который хочу перекомпилировать каждый раз, когда есть изменения. Есть ли эквивалент watch или вроде nodemon в мире узлов? В качестве альтернативы небольшой шеллскрипт, чтобы убить запущенное приложение,...
177 просмотров
schedule 26.11.2022

Почему мой код никогда не достигает конца при ожидании трубы?
Я пытаюсь использовать IO.pipe для отправки сообщений между процессами, но сталкиваюсь с каким-то голоданием, когда жду сообщений о завершении. Код: https://carc.in/#/r/12ly
117 просмотров
schedule 29.11.2022

Кристалл, если не работает
У меня есть следующая функция def fcn(lst) if (lst.size == 0) return [] of Int32 end lc = lst.map{|a| a[1]} end При выполнении: lst = [] of Int32 puts(fcn(lst)) Я получил: Ошибка в строке 8: создание экземпляра...
70 просмотров
schedule 06.09.2022

Как правильно работать с БД и пулом соединений с БД?
В моем коде я открываю БД при запуске программы и передаю переменную db другим методам. Я считаю, что это глупо и неправильно. Но что мне делать? Должен ли я открывать соединение с БД в каждом методе? Но этот путь тоже не выглядит правильным......
247 просмотров
schedule 19.08.2023

Передача вывода команды оболочки в grep вызывает ошибку grep: write
Я написал инструмент в Crystal, который принимает некоторые параметры командной строки и превращает их, по сути, в «find stuff | xargs grep», где xargs указывает использовать несколько процессов. Это запускается через Process.run, а вывод и ошибка...
1250 просмотров
schedule 07.05.2022

Гарантируется ли, что object_id объекта будет уникальным и неизменным в течение жизни объекта?
В документах Crystal API говорится, что object_id является «адресом памяти этого объекта». Гарантируется ли, что это всегда будет уникальным и одинаковым значением для жизни объекта? Будет ли Crystal когда-либо изменять расположение объекта в...
68 просмотров
schedule 28.12.2023

Ошибка сборки кристалла с ld: библиотека не найдена для -lssl
Я только что запустил новое приложение Crystal, добавил Кемаль, и при создании «Hello World!» app из документации Kemal, я получаю: $ crystal build --release src/orderprinterlinks.cr ld: library not found for -lssl clang: error: linker command...
741 просмотров
schedule 09.06.2022

Как определить количество ядер процессора в Crystal?
Как определить количество ядер процессора в кристалле? В Go вы можете делать runtime.NumCPU() , а в Node.js - os.cpus() . В Кристалле есть что-то подобное?
328 просмотров
schedule 12.05.2022

Путаница с написанием игрового цикла
Я работаю над фреймворком для 2D-видеоигр и никогда раньше не писал игровой цикл. Большинство фреймворков, в которых я когда-либо заглядывал, похоже, реализуют как draw , так и update методы. Для моего проекта я реализовал цикл, который...
144 просмотров
schedule 18.03.2022

Ссылки на перечисления C в библиотеке Crystal
Я пытаюсь написать оболочку Crystal вокруг libevent , и мне было интересно, как подойти к его перечислениям, которые названы как все в нижнем регистре, например: enum...
91 просмотров
schedule 24.06.2022

Как создать потоковый HTTP-сервер в Crystal?
Я хочу создать сервер, аналогичный Twitter Streaming API , чтобы клиент мог прочитать ответ в оставаться на связи в режиме реального времени. Как это сделать в Кристалле?
329 просмотров
schedule 04.07.2023

Кристаллические ассоциативные массивы
Как вы делаете ассоциативные массивы в Crystal? В этом случае мне нужен массив логических значений для настройки нескольких классов. Пример: arr = ??? # what do i place here to make it work ? arr[:download] = true arr[:parse] = true...
130 просмотров
schedule 12.07.2023

Вызвать код из модуля и выполнить его, так как в меню выбрана опция
Я не понимаю, почему, когда я выполняю свой код, я выбрал первый вариант, который он оставил, ничего не делая. Ниже вы найдете код моего скрипта кристалла. require "colorize" class Application def initialize mainMenu end def mainMenu...
42 просмотров
schedule 13.10.2023

С чего начать отслеживание исключения?
Я получаю исключение в производстве, которое не предоставляет информацию и информацию о трассировке стека. Как мне начать отладку, откуда это может происходить? Oct 25 16:26:17 socket-proxy app/web.1: Exception: RedisError: Disconnected...
133 просмотров
schedule 15.02.2024

Можно ли определить инструкции, которые будут выполняться в конце компиляции? (Кристалл Ланг)
Допустим, проект Crystal использует разные осколки. И каждый шард хочет выполнить очистку в конце компиляции всего проекта. Можно ли использовать макросы? Что-то вроде этого, например: {% at_end %} {% system("rm 'tmp files'") %} {% end %}
81 просмотров
schedule 04.04.2024

сборка кристалла с ошибкой варианта выпуска
Очень простой код (последовательность Фибоначи): root@u2:~# crystal build fibo.cr root@u2:~# crystal build fibo.cr --release crystal: /var/cache/omnibus/src/llvm/llvm-3.8.1.src/lib/CodeGen/LexicalScopes.cpp:160: llvm::LexicalScope*...
55 просмотров
schedule 07.04.2022

Кристаллический эквивалент осколка для pp (красивая печать)
Какой шард, эквивалентный Crystal для pp, используется в Ruby для красивой печати сложных структур данных?
335 просмотров
schedule 25.12.2022