Могу ли я добавить информацию о типе в аргументы, являющиеся функциями?Могу ли я добавить информацию о типе в аргументы, которые являются функциями в Julia?
Рассмотрим следующий пример:
function f{T} (func, x::Int)
output = Dict{Int, Any}()
output[x] = func(x)
return output
end
мне не нравится, что я должен сказать Any
для типа значения словаря. Я бы предпочел следующее:
function f{T} (func::Function{Int->T}, x::Int)
output = Dict{Int, T}()
output[x] = func(x)
return output
end
Могу ли я предоставить типы намеков на такие функции? Я хочу сказать следующее:
f :: (Int -> T), Int -> Dict{Int, T}
Любой шанс Haskell-как все-в-одном объявления типа тоже? (как в нижней строке вопроса) – MRocklin
Есть некоторый шанс. – StefanKarpinski
Изменилось ли это с помощью 0,5? Теперь мы можем выполнить функцию hello (x :: String) :: String «Hello,» * x * "!" end' для именованных функций ... можем ли мы что-либо делать по строкам 'x :: Function {_ -> String}; x = привет? (Кстати, в приведенном выше примере 'hello :: Function' передает' typeof (hello) 'is' # hello', а 'Base.return_types (hello)' is '1-element Array {Any, 1}: String '.) – Philip