Описание тега nim-lang

Nim (ранее известный как "Nimrod") - это статически типизированный императивный язык программирования, который пытается дать программисту максимальную мощность без ущерба для эффективности выполнения. Это означает, что он фокусируется на механизмах времени компиляции во всех их различных формах.
2 ответа

Распаковать несколько переменных из последовательности

Я ожидаю, что код ниже, чтобы напечатать chr7, import strutils var splitLine = "chr7 127471196 127472363 Pos1 0 +".split() var chrom, startPos, endPos = splitLine[0..2] echo chrom Вместо этого он печатает @[chr7, 127471196, 127472363], Есть ли спосо…
11 авг '15 в 17:22
3 ответа

Как преобразовать объект в JSON в Nim

Я делаю небольшой веб-сервис в Nim, и мне нужно отвечать на запросы с помощью json. Я использую модуль шута, чтобы сделать сервис. Я ожидаю, что смогу использовать модуль json в базовой библиотеке Nim для создания какого-либо объекта с полями и знач…
04 окт '14 в 08:36
4 ответа

Ним эквивалент постижения списка Python

Поскольку Nim имеет много общих возможностей с Python, я не удивлюсь, если он также реализует понимание списков Python: string = "Hello 12345 World" numbers = [x for x in string if x.isdigit()] # ['1', '2', '3', '4', '5'] Это действительно возможно …
27 апр '15 в 12:33
0 ответов

Nim: наложение процедур с побочными эффектами

Я пытаюсь создать указатель на процедуру (или эквивалент). Когда я делаю что-то вроде этого: import random # maybe a command line argument let choice = "some algorithm" proc withoutSideEffects(): int = 0 proc withSideEffects(): int = rand(10) let pr…
11 дек '18 в 14:39
7 ответов

Как мне преобразовать строку в последовательность символов в Nim?

Я хочу сделать различные операции с символами в строке, например, карту или наоборот. В качестве первого шага я хочу преобразовать строку в последовательность. Дана строка типа "ab". Как мне получить последовательность, как @['a','b']? "ab".split(""…
14 июн '18 в 08:51
1 ответ

Как правильно передать аргументы через командную строку в NIM?

Я использую следующий фрагмент кода для анализа аргументов командной строки и сохранения их в таблице. var args = initTable[string, string]() for kind, key, val in getopt(): args.add(key,val) Тем не менее, это работает, только если я прохожу = в ком…
14 июл '17 в 10:14
1 ответ

Вызов функции C, которая принимает константный указатель на структуру из Nim

Я использую GNU argparse из Nim, используя его интерфейс внешней функции. В есть функция argp_parse, которая объявлена ​​следующим образом extern error_t argp_parse (const struct argp *__restrict __argp, int __argc, char **__restrict __argv, unsigne…
08 янв '17 в 21:18
0 ответов

Есть ли библиотека Nim, содержащая реализацию `argsort` или оболочку?

Я ищу версию argsortНапример, существует в NumPy или в Fortran. Есть ли реализация argsort в Ним... или доступны Ним в какой-то библиотеке? Кажется немного удивительным, что это отсутствует. ОБНОВИТЬ Следующее, кажется, работает для argsort: proc ar…
25 апр '16 в 03:23
4 ответа

Как получить доступ к аргументам командной строки в Nim?

Как я могу получить доступ к аргументам командной строки в Nim? Документация показывает только, как запустить скомпилированный код nim с аргументами командной строки (nim compile --run greetings.nim arg1 arg2), но мне не удалось найти, как использов…
12 апр '17 в 11:29
1 ответ

Ним-Ланг: понимание списка с двумя переменными

Запутался в том, как выполнить понимание списка, используя две переменные. Вот что я пытаюсь сделать до сих пор: let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), int] Вот ошибка: greedy_motif_ba2d.nim(22, 40) Error: type …
12 янв '19 в 07:04
1 ответ

Оператор модуля nim

Что такое оператор модуля в Nim? tile % 9 == 0 приводит к необъявленному идентификатору: '%' Поиск в Google или поиск SO не дают ответа.
25 сен '18 в 06:14
1 ответ

В Nimrod, каков синтаксис для побитовых операций?

Я просто открываю для себя Nimrod и имею основной вопрос (не могу найти ответ в документации). Как вы используете побитовые операции? У меня есть следующий код, где х определяется как int: if x and 1: Это не компилируется: Error: type mismatch: got …
01 ноя '13 в 16:58
1 ответ

Как использовать Нимпроф?

В одном из моих проектов Nim у меня проблемы с производительностью. Я сейчас пытаюсь использовать nimprof чтобы увидеть, что происходит. у меня есть import nimprof в моем основном исходном файле, и я собираю с --profiler:on, Когда я запускаю програм…
25 июл '15 в 07:36
1 ответ

Любые типы в таблицах / табличных наборах в nim

Как мне сделать так, чтобы таблицы могли иметь любые типы ключей и значений в Nim? Например, следующий код не работает: {"a": "string", "b": 4} Он говорит, что ожидает (string, string), но получил (string, int), что означает, что тип был определен и…
30 июн '16 в 21:17
2 ответа

Nim - Создать последовательность объектов, которые реализуют метод

Я хочу запрограммировать игру и использовать шаблон компонента для нескольких объектов. В языке с интерфейсами / типами-классами / множественным наследованием проблем не было бы. Я хочу, чтобы некоторые объекты были обновляемыми, но не воспроизводим…
20 мар '16 в 16:50
1 ответ

Ним: пусть заявление без присваивания

Я хочу иметь одну переменную присваивания, но сделаю присваивание позже (в другом блоке). Например: let n: int try: n = parseInt paramStr(1) except ValueError: quit "Expected Number Это сейчас невозможно? Если так, то почему? И какова лучшая альтерн…
10 дек '18 в 01:27
2 ответа

Какой подход у Нима, чтобы различать команды?

Я пытаюсь понять, какой подход использует Nim для различения команд. Существует "сепаратистский подход", где точка с запятой просто разделяет команды (например, используется в Pascal), "терминистский подход", когда точка с запятой полностью завершае…
23 июн '16 в 11:36
0 ответов

Розенкранц Метод маршрутизации УДАЛИТЬ не работает?

Я использую Rosencrantz для Api Server.ноУДАЛЕНО набор методов запускается скомпилировать до ошибкине работает? i Копирование документа и путь, сообщение, метод http только для редактирования. NIM версин: 0,19,6Розенкранц: 0.3.8 import asyncdispatch…
17 май '19 в 01:22
1 ответ

Выйти из консольного приложения в Nim

Хотелось бы узнать, как выйти из консольного приложения в Nim.
09 авг '20 в 20:25
2 ответа

Почему я не могу вызвать Nim proc без фигурных скобок?

Nim поддерживает выражение вызова процедуры без фигурных скобок, но когда я использую именованные аргументы, он жалуется, почему? proc doc(text: string) {.discardable.} = echo text doc "doc1" doc(text = "doc1") doc text = "d…
18 авг '20 в 14:35