Я часто вижу подобный код следующую строку в САР:В чем смысл g0ofg1?
val xs = g0ofg1(xs)
Функция g0ofg1 выглядит как какой-то кастинг. Что это на самом деле?
Я часто вижу подобный код следующую строку в САР:В чем смысл g0ofg1?
val xs = g0ofg1(xs)
Функция g0ofg1 выглядит как какой-то кастинг. Что это на самом деле?
Это перегруженный символ.
Существует много типов в ATS, для которых существует индексированный и неиндексированный вариант.
int(i)
(для некоторого i
из рода int
) и int
. Оба типа предназначены для целых чисел, но первые индексируются по типу int
.string
(просто строка) и string(n)
(длина индексированные строки)g0ofg1
для преобразования индексного типа в Неиндексированные один. Это castfn, поэтому эта операция не имеет связанных с ней затрат времени выполнения.
g1ofg0
предназначен для перемещения в другом направлении: от неиндексированного до индексированного типа.