Публикации по теме '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