Поддерживает ли Nim вывод типа? - PullRequest
1 голос
/ 09 января 2020

Я видел этот пример в Nim, он требует явной спецификации типа для int и bool, хотя информации достаточно для того, чтобы вывести оба варианта (как это сделал бы TypeScript).

Если эти типы удалены, он не скомпилируется, поддерживает ли Nim вывод типа?

import sequtils

let list = @[1, 2, 4]
echo list.filter do (x: int) -> bool: x > 2

Ответы [ 3 ]

2 голосов
/ 09 января 2020

Из руководства:

Автоматический тип может использоваться только для возвращаемых типов и параметров. Для возвращаемых типов это заставляет компилятор выводить тип из тела рутины:

http://nim-lang.github.io/Nim/manual.html#types -авто-тип

1 голос
/ 25 февраля 2020

То, что вы хотите, это макрос =>

echo list.filter(x => x > 2)
0 голосов
/ 09 января 2020

Поддерживает ли Nim вывод типа?

Согласно домашней странице , у Nim есть…

Современная система типов с локальным вывод типа , кортежи, обобщения и типы сумм.

[ полужирный выделение выделено]

Также, руководство по языку упоминает вывод типа примерно в 10 различных местах.

И таблица Сравнение в Nim для программистов TypeScript Страница Wiki перечисляет тип вывод как особенность.

Итак, в заключение ответ «Да», по крайней мере, согласно официальной документации.

...