Nim

Материал из Поле цифровой дидактики
Версия от 10:26, 25 августа 2022; Patarakin (обсуждение | вклад) (Новая страница: «{{Карточка языка программирования |FieldActivity=Computational Thinker |Возрастная категория=16 |Dimension=2D |Purpose=Язык общего назначения |Visual_Text_Blocks=Текст |Openness=Открытый |Address=https://nim-lang.org/ |Ancestors=Lisp, Python |ActiveNow=Project is active |launch year=2008 }} Пример программы - Объект первого класса Пр...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Краткое описание языка
Компетенции в каких сферах формирует 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) # вызов внутренней процедуры