Вопросы по теме 'nim-lang'
Передача сообщений между потоками Nim: как избежать глобального TChannel?
У меня есть следующий простой пример проблемы связи между потоками: я хочу запускать произвольные алгоритмы «в любое время» в фоновом потоке. Алгоритм anytime выполняет некоторые вычисления с типом результата T постепенно, т. е. время от времени...
1808 просмотров
schedule
22.10.2022
Где Nim ищет модули для импорта?
При использовании оператора import , как/где Nim выполняет поиск модулей?
Я знаю, что можно использовать пути к файлам, но если я не хочу использовать путь к файлу, куда мне поместить модуль, который я определил локально на своей машине?
Я еще...
2918 просмотров
schedule
14.10.2022
MD5 для массива, преобразование array[0..63, uint8] в cstring
Я пытаюсь выполнить md5Update для массива [0..63, uint8], но получаю
Error: type mismatch: got (MD5Context, array[0..63, uint8], int)
but expected one of:
md5.md5Update(c: var MD5Context, input: cstring, len: int)
Кажется, ему нужен ввод...
200 просмотров
schedule
21.01.2024
Ним: Как доказать не ноль?
Для меня одной из самых интересных особенностей Nim является аннотация not nil , потому что она в основном позволяет полностью исключить все виды ошибок NPE / нарушений прав доступа статически, с помощью компилятора. Тем не менее, у меня есть...
2012 просмотров
schedule
06.12.2022
Парсер Ним-кода
В пакете macros есть парсеры, такие как parseExpr и parseStmt , но это {.compileTime.} процедуры.
Есть ли способ проанализировать строку кода Nim во время выполнения, получив AST, который можно проанализировать?
568 просмотров
schedule
10.10.2022
Программа не компилируется, когда концепт определяет метод с параметром
У меня есть concept вот так:
type Foo = concept x, y
x.test(y) is bool
А затем тип, который пытается определить метод, реализующий concept :
type Bar = object
s: string
proc test(x: Bar, y: string): bool =
x.s == y
И тип с...
73 просмотров
schedule
16.03.2024
Можно/легко ли включить mruby в приложение nim?
В настоящее время я пытаюсь изучить Ним (это происходит медленно - не могу уделять этому много времени). С другой стороны, в интересах получения работающего кода я хотел бы прототипировать разделы приложения Nim, над которым я работаю, на рубине....
186 просмотров
schedule
08.05.2024
Аргумент `Inject` proc в тело шаблона
Учитывая следующий фрагмент:
template myProc(body: untyped) =
template doStuff(stuffBody: untyped) =
proc doStuffArg(a: int) = stuffBody
body
myProc:
doStuff:
echo a
doStuffArg(123)
Код будет работать до тех пор, пока внутри...
57 просмотров
schedule
06.12.2022
что такое определение типа nim для общей процедуры?
У меня есть стратегии, выраженные как дженерики в nim:
proc fooStrategy[T](t: T, ...)
proc barStrategy[T](t: T, ...)
Я хотел бы создать таблицу поиска для стратегий по имени... поэтому я попытался:
type
Strategy*[T] = proc[T](t: T,...
930 просмотров
schedule
11.03.2024
Загрузка символов, начинающихся с подчеркивания
Мой гугл-фу слаб в этом вопросе… (редактировать/спойлер: _ в конце концов не проблема, см. ниже)
Чтобы дать некоторый контекст, я разрабатываю крошечную переносимую программу, используя Nim. В какой-то момент я хотел использовать getch() на...
141 просмотров
schedule
09.01.2024
Преобразование типа int в uint8
На страница учебника Nim указано :
Автоматическое преобразование типов без потерь выполняется в выражениях, в которых используются различные виды целочисленных типов.
Итак, я подумал, что создание int в диапазоне uint8 позволит мне...
1493 просмотров
schedule
29.10.2022
Ним: преимущество использования массива над последовательностью?
Из документов я знаю, что массивы Nim имеют фиксированную длину, определяемую во время компиляции, тогда как последовательности имеют переменную длину.
Я заметил, что у последовательностей больше встроенных инструментов. Например, в модуле...
856 просмотров
schedule
26.03.2024
Как запустить строку кода в режиме отладки только в Nim?
У меня есть строка кода, которую я хочу запустить в режиме отладки, но не в режиме выпуска. Есть ли способ автоматически справиться с этим?
250 просмотров
schedule
09.06.2024
Невозможно скомпилировать файл Nim с помощью GTK+ 3
Я новичок. (И я не могу говорить по-английски лучше.)
Я пытаюсь скомпилировать код Nim с помощью gtk
{.push header:"<gtk/gtk.h>",varargs.}
proc gtk_init(argc,argv:pointer=nil)
proc gtk_window_new(typ:int):pointer
proc gtk_main_quit
proc...
229 просмотров
schedule
24.10.2022
Как воспроизвести файл WAV в nim?
Я провел последние несколько часов, работая со многими различными аудиобиблиотеками, найденными на nimble.directory , но они либо не имеют документации, либо им уже много лет, либо и то, и другое.
Я только начинаю работать с ним, и я создаю...
366 просмотров
schedule
29.01.2024
Проблема с определением пустого массива в Nim
Несколько дней назад я открыл для себя язык ним и начал его изучать с помощью специального руководства для начинающих https://narimiran.github.io/nim-basics . Я хочу решить одно упражнение из этого руководства, в котором мне нужно построить пустой...
527 просмотров
schedule
11.12.2022
Использование \n в строке
Я делаю проект Nim с графическим интерфейсом и хочу показать некоторые тексты, которые я получил из своей локальной базы данных mongoDB. Загрузил некоторые из этих текстов, например:
"что-то\nчто-то\nчто-то"
как строка. Сделал также...
111 просмотров
schedule
02.02.2024
Передать значения кортежа в качестве параметров в proc
У меня есть процедура под названием:
proc fill(image: Pixels, r, g, b, a: uint8 , которому нужно передать 4 значения uint8 в качестве параметров для заливки изображения цветом.
У меня также есть кортеж с именем green: let green = (0.uint8,...
253 просмотров
schedule
04.01.2024
вызов nim proc из NodeJs
Следуя документам здесь: https://nim-lang.org/docs/backends.html#backends-the-javascript-target
У меня есть следующий код в fib.nim
proc fib(a: cint): cint {.exportc.} =
if a <= 2:
result = 1
else:
result = fib(a - 1) + fib(a -...
381 просмотров
schedule
06.12.2022
Как заставить Nim компилировать и запускать выходные данные?
Если я запускаю nim c -r test.nim следующий код в Nim
echo "Hi"
Он напечатает результат с дополнительной информацией
$ nim c -r test.nim
Hint: used config file '/usr/local/Cellar/nim/1.2.6/nim/config/nim.cfg' [Conf]
Hint: system...
168 просмотров
schedule
27.11.2023