【发布时间】:2014-09-24 06:11:36
【问题描述】:
在许多其他语言中,我们可以创建一个通用的异步可迭代类型,例如 Rx 变体中的 Observable<T>,Go 中的 chan T。
Julia 的协程抽象 Task 是一个类似的构造,可以在(轻量级)线程之间传递对象。 Julia 是否有方法来注释这些对象的类型?
我想创建一个接受Task 作为其参数的函数,并且能够表达任务发出的对象类型。例如,如果Task 是泛型类型,我会想象:
function foo(socket::Task{String})
for word in socket
println(word)
end
end
更一般地说,是否有可以使用for(或使用start/next/done 的其他方法)迭代的对象的抽象类型,以便我可以在函数签名中进行注释?
【问题讨论】:
标签: julia