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

Как я могу использовать указатели функций в Nimrod?
Можно ли использовать указатели на функции в Nimrod? Что я пробовал: type fptr = (proc(int):int) proc f(x:int): int = result = x+1 var myf : fptr = f echo myf(0) но когда я пытаюсь скомпилировать, я получаю: Hint: added path:...
2608 просмотров
schedule 07.04.2023

nimrod httpsserver не будет работать в сафари
Я немного поиграл с Nimrod и попробовал модуль HTTPServer. Сначала я подумал, что это не работает, так как когда я попытался перейти на веб-страницу в Safari, моем стандартном браузере, он выдал ошибку. Ошибка была примерно такой: (извините, если не...
209 просмотров
schedule 10.07.2023

Почему есть предупреждение не использовать system.cmp[string] для сравнения строк Nim
В стандартной библиотеке Nim есть предупреждение : sort(myIntArray, system.cmp[int]) # do not use cmp[string] here as we want to use the specialized # overload: sort(myStrArray, system.cmp) Может ли кто-нибудь дать более подробное...
296 просмотров
schedule 11.07.2023

определение параметров нескольких типов в Nim
Скажем, у меня есть два класса и процедура, которая изменяет любой класс одинаковым образом. Как указать, что параметр может быть любым классом (вместо того, чтобы переписывать или перегружать функцию для каждого класса)? Простой пример: type...
524 просмотров
schedule 17.06.2023

toSeq(some_string) Несоответствие типов
Я хотел бы преобразовать string в seq[char] , чтобы использовать несколько процессов в последовательностях, но у меня проблема с шаблоном toSeq . Например: proc someproc(a, b: string): seq[tuple[a, b: char]] = let s1 = toSeq(a)...
425 просмотров
schedule 10.04.2023

Назначение указателя функции с предварительно объявленным прототипом в Nim
Я хочу назначить оконную процедуру структуре оконного класса: var wndClass : WNDCLASS; wndClass.lpszClassName = CLASSNAME; wndClass.lpfnWndProc = WndProc; wndClass.hInstance = hInstance; Я пока не могу назначить WndProc, потому что он...
354 просмотров

Наследование от последовательностей в Nim
Я экспериментировал с Nim около дня, и мне было интересно, как вы можете сделать тип, наследуемый от встроенного (в частности, seq ), чтобы процедуры, работающие с seq , также могли обрабатывать пользовательский тип. Ниже я привел минимальный...
340 просмотров
schedule 17.07.2023

ObjectConversionError при преобразовании типов с помощью дженериков в Nim
Когда я создаю простую иерархию классов, такую ​​как: type fooObj = ref object {.inheritable.} barObj = ref object of fooObj bazObj = ref object of fooObj x: string var troz: fooObj let bar = barObj() let baz = bazObj(x: "yes") echo...
111 просмотров
schedule 01.04.2023

Как сравнить два typedesc в шаблоне на равенство
Я хотел бы иметь возможность сравнить два описания типов в шаблоне, чтобы увидеть, ссылаются ли они на один и тот же тип (или, по крайней мере, имеют одно и то же имя типа), но не знаю, как это сделать. Оператор == этого не позволяет. type...
328 просмотров
schedule 31.03.2023

Очистить последовательность в Ниме
Какова Nim-эквивалентность List.Clear в таких языках, как java или c # для последовательностей? Я вижу в системе процесс setLen , но я не уверен, что он делает то, что я хочу. Из описания: f the current length is greater than the new length,...
1221 просмотров
schedule 08.07.2023

типизированный vs нетипизированный vs expr vs stmt в шаблонах и макросах
В последнее время я использую шаблоны и макросы, но должен сказать, что едва нашел информацию об этих важных типах. Это мое поверхностное понимание: typed/expr должен существовать ранее, но вы можете использовать .immediate. преодолеть их....
841 просмотров
schedule 21.03.2023

Ошибка: выражение не имеет адреса
# lines 11-12: proc last[T](ll: seq[T]): var T = return ll[high(ll)] # line 118: if last(formula)["state"] == c_empty: Ошибки: main.nim(118, 12) Info: template/generic instantiation from here main.nim(12, 12) Error: expression has no...
566 просмотров
schedule 06.09.2022

Присваивание последовательности создает новую копию последовательности?
Даны две последовательности a и b, объявленные следующим образом: var a = @[1, 2, 3] b = @[4, 5, 6] будет ли a = b создаваться новая последовательность, копирующая все из b в a, или повторно использовать a? У меня есть проблемы,...
336 просмотров
schedule 14.11.2022

Статическая привязка кода Nim к Go
Я пытаюсь в Linux статически связать некоторый код, созданный в Nim, с приложением Go. Я следил за документацией Nim Backend Integration и некоторыми статьями о компоновке C в Go, но не не заработало. Вот где я нахожусь до сих пор ... Ним...
764 просмотров
schedule 22.07.2023

При импорте модуля Nim для привязок Lua отображается ошибка: не удалось загрузить: lua(|5.1|5.0).dll
Я новичок в языке программирования Nim, и, имея опыт работы с Lua, я был рад узнать, что существует модуль для добавления привязок Lua к Nim. Я установил Nimble (менеджер пакетов Nim) для Windows и выполнил «nimble install lua», чтобы загрузить и...
298 просмотров
schedule 29.06.2023

как создать IntSet в куче в ним?
В nim есть различные библиотеки, которые возвращают фактические объекты, а не ссылки. Иногда мне нужен объект в куче (независимо от эффективности) — например, когда у меня есть общая процедура, которая ожидает ссылку на объект. Единственный способ...
161 просмотров
schedule 23.02.2023

Что эквивалентно загрузке JSON в словарь в Nim
Я новичок в Nim и хочу прочитать файл JSON в структуру данных в стиле dict , чтобы получить доступ к ключам в виде столбцов. proc get_url() : string = return "train.json" И парсер: var file = get_url() var json_data =...
959 просмотров
schedule 06.04.2023

Как мне инициализировать общую переменную с ее минимальным/максимальным возможным значением (числовыми пределами)?
Как я могу инициализировать переменную в универсальной функции с минимальным/максимальным возможным значением базового универсального типа? Я ищу эквивалент Nim для C++ std::numeric_limits .
132 просмотров
schedule 07.09.2022

Есть ли у Nim буферизация вывода?
Нужно ли сбрасывать вывод, когда я использую echo Nim, как я делаю это с print Python? Если да, то как я могу это сделать?
392 просмотров
schedule 16.01.2023

Как структурировать модульные тесты в Nim?
Я просматриваю документацию по юниттесту и вижу, что могу поместить несколько suite блоков в один тестовый файл. Однако я хотел бы иметь несколько тестовых файлов и запускать их все с помощью одной команды. Я мог бы написать bash-скрипт для...
733 просмотров
schedule 08.12.2022