Вопросы по теме '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 просмотров
schedule
03.06.2023
Наследование от последовательностей в 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