Предположим, у меня есть конкретный тип нормальной функции с именем Julia F = typeof(f). Можно ли вернуться f из F? Я предполагаю, что это должно работать в принципе, так как F является одноэлементным типом.

3
phipsgabler 28 Май 2019 в 19:25

2 ответа

Лучший ответ

Вы можете использовать функцию Core.Compiler.singleton_type, которая возвращает поле instance для конкретного DataType. Я думаю, что эта функция используется для той же цели, что и ваша (не только для этой цели) в Core.Compiler во время компиляции. Вероятно, это считается «более внутренним», чем прямой доступ к полю instance.

julia> Core.Compiler.singleton_type(typeof(sum))
sum (generic function with 13 methods)
3
hckr 28 Май 2019 в 19:46

Я бы использовал F.instance, но, возможно, есть какое-то лучшее решение (так как этот использует внутренние компоненты).

3
Bogumił Kamiński 28 Май 2019 в 16:57
56346495