Nim

Материал из Поле цифровой дидактики
Краткое описание языка
Компетенции в каких сферах формирует Computational Thinker
Парадигмы программирования
Возрастная категория 16
Назначение языка (Общее / Учебное) Язык общего назначения
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://nim-lang.org/
Предки (Ancestors) Lisp, Python
Потомки (Descendants)
Активность в данный момент Project is active
Доступны ремиксы?
Год создания 2008
Создатели
Поясняющее видео
Используется для создания мобильных приложений?
Nim упоминается в свойствах следующих страниц


Пример программы - Объект первого класса

Пример кода на языке Nim.

# присвоим процедуру переменной
var value = proc() =
  echo "value"

value() # вызов процедуры
var value2 = value
value2() # вызов процедуры

# процедура будет передана другой
proc two(): string =
  return "two"

# процедура будет получать другую процедуру
proc wrap(x: proc) =
  echo "one"
  echo x()
  echo "three"

# вызов процедуры которая получает на вход другую процедуру
wrap(two)

# процедура, которая возвращает процедуру
proc closure(x: int): proc =
  proc res(y:int): int =
    return y*y+x
  return res

var result = closure(2) # вызовем процедуру которая вернет другую процедуру
echo result(3) # вызов внутренней процедуры