Вопросы по теме '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