Вопросы по теме 'nim-lang'
Переводчик Brainfuck в Nimrod
Я играю с nim (на момент написания все еще назывался nimrod), написав интерпретатор Brainfuck на языке . Без реализованных циклов у меня есть:
import os, unsigned
const RamSize = 200
type
TRam = array[0..RamSize, int]
var
ram : TRam...
584 просмотров
schedule
23.10.2022
Каков синтаксис побитовых операций в Nimrod?
Я только открываю для себя Nimrod, и у меня есть основной вопрос (не смог найти ответ в документации).
Как вы используете побитовые операции? У меня есть следующий код, где x определяется как int :
if x and 1:
Это не компилируется:...
1175 просмотров
schedule
24.05.2022
Необъявленное поле в унаследованном типе, компилирующем программу Nimrod
Я пытаюсь скомпилировать следующий код:
type
TPerson = object of TObject
name*: string
age: int
TStudent = object of TPerson
id: int
var
student: TStudent
person: TPerson
student = TStudent(name: "Anton", age: 5, id: 2)...
286 просмотров
schedule
26.07.2022
Nimrod для начинающих - Fizzbuzz - Компиляция и запуск
Я попытался написать, скомпилировать и запустить свою первую программу нимрода - fizzbuzz.
Nimrod устанавливается из git и имеет версию.
[sayth nimrod]$ nimrod --version
Nimrod Compiler Version 0.9.4 (2014-04-28) [Linux: amd64]
Copyright (c)...
487 просмотров
schedule
02.05.2023
Nim: включить заголовок C для Posix
Я пытаюсь использовать библиотеку Nim Posix, в частности, статистику файловой системы:
http://nim-lang.org/docs/posix.html#Stat
Из моих тестов с другими модулями Nim импорт и использование должны работать следующим образом:
import posix...
805 просмотров
schedule
19.08.2023
Разница между константой внутри процедуры и снаружи
Это, вероятно, очень глупый вопрос, но кроме видимости, есть ли реальная разница между const внутри proc и снаружи?
const foo = "FOO"
proc test() =
const bar = "BAR"
echo foo & bar
test()
Например, когда внутри, стек...
107 просмотров
schedule
12.06.2023
Nim (стержень) не устанавливается на путь должным образом?
Я следую инструкциям по установке Nim(rod) в Linux. Затем я перешел на этот сайт, который показал следующее:
$ echo 'export PATH=$PATH:$your_install_dir/bin' >> ~/.profile
$ source ~/.profile
$ nim
Ввод nim в терминале ничего не...
300 просмотров
schedule
25.05.2022
Как преобразовать фрагмент в последовательность?
Я хотел бы указать последовательность непосредственно из среза (вместо того, чтобы повторять срез и добавлять каждый элемент в последовательность по отдельности). Я пробовал несколько разных способов, но очевидные не работают.
var
x =...
870 просмотров
schedule
21.09.2022
Получить адрес из const
Из руководства :
Можно получить адрес переменных, но нельзя использовать его для переменных, объявленных через операторы let.
Я понимаю, что это сделано для обеспечения безопасности. Теперь, если я хочу получить адрес из константы любой...
155 просмотров
schedule
12.09.2022
Ним параметры макроса
здесь код, который я хочу скомпилировать:
macro defineSomething(amount:expr):stmt=
var amountInt = intVal(amount).int
# Boring staff
defineSomething(42);
Это работает отлично. У меня есть все, что я хочу, внутри моего макроса, я могу...
543 просмотров
schedule
22.08.2022
Преобразование следующего кода C++ в Nim
Я пытаюсь изучить Nim, конвертируя различные фрагменты кода, и я наткнулся на то, чего никогда раньше не видел.
#include<bits/stdc++.h>
...
for(int t=q&1?u+x:u+x>>1;t>1;)t/=p[++cnt]=sieve[t];
...
sort(p+1,p+cnt+1);
Я...
397 просмотров
schedule
06.12.2022
Как получить строковое представление выражения в шаблоне Nim
Есть ли возможность получить строковое представление выражения (или идентификатора) внутри template ? Например, имея следующий код:
template `*`*(name: expr) {.immediate.} =
var `name`* {.inject.}: string = ""
# Want to print 'name' here,...
592 просмотров
schedule
29.03.2023
Как использовать нимпроф?
В одном из моих проектов Nim у меня проблемы с производительностью. Сейчас я пытаюсь использовать nimprof , чтобы посмотреть, что происходит. У меня есть import nimprof в моем основном исходном файле, и я компилирую с --profiler:on . Когда я...
341 просмотров
schedule
06.05.2024
Распаковать несколько переменных из последовательности
Я ожидаю, что приведенный ниже код напечатает chr7 .
import strutils
var splitLine = "chr7 127471196 127472363 Pos1 0 +".split()
var chrom, startPos, endPos = splitLine[0..2]
echo chrom
Вместо этого он печатает @[chr7, 127471196,...
1845 просмотров
schedule
12.01.2024
Определить переключатель для ключ = значение
В nim вы можете определить символ через -d:value и проверить, был ли он определен с помощью defined(value) . Однако возможно ли определить ключ и получить его значение? Я ищу что-то в духе --colors:on , но определяемое пользователем.
106 просмотров
schedule
08.11.2022
nim jester как изменить статический маршрут и каталог
Каков правильный способ изменить статический маршрут и каталог, из которого шут обслуживает статические файлы?
Я пробовал различные перестановки этого:
routes:
get "/static":
setStaticDir(request,"./semantic/dist")
но не заставить...
391 просмотров
schedule
23.07.2023
Как скомпилировать приложение Nim, которое работает без окна консоли?
Есть ли способ скомпилировать приложение Nim, которое не открывает консоль при запуске? Если я что-то не упустил, официальная документация не показывает никаких параметров компилятора, которые могли бы это сделать. Я действительно хочу, чтобы...
1453 просмотров
schedule
30.11.2022
Как сравнить несколько строк кода в nim?
Я прочитал это вдоль и поперек: http://nim-lang.org/docs/times.html
Но до сих пор не могу понять простую вещь: как получить время в мс дважды, один раз перед моим кодом и еще раз после того, как мой код запустится, а затем вывести разницу?
Я...
1245 просмотров
schedule
19.09.2022
Как мне использовать «концепцию» в Ниме?
Мне интересно, как использовать «концепцию» в ним (0.13). У меня есть следующий код:
type
T = concept t
t.a is string
T0 = ref object
a: string
T1 = ref object
a: string
q: string
proc echoT(t: T) : void =
echo "hello "...
563 просмотров
schedule
11.04.2024
Ним: Как проверить, является ли число с плавающей запятой nan или inf?
Как я могу проверить, является ли переменная с плавающей запятой NaN или inf . Поиск в стандартной библиотеке isNaN или isInf ничего не дает. Существует сообщение в блоге , предлагающее использовать
proc cIsNaN(x: float): int {.importc:...
612 просмотров
schedule
08.06.2023