Boo 中的类型列表理解?
Typed list comprehensions in Boo?
我似乎无法理解在 boo 中获得正确键入的列表理解的正确方法。由于编译器通过推理工作,我希望在这个例子中:
fred as (int)
fred = (1,2,3) # fred is an array of ints
barney = [i for i in fred]
barney
将是 list[of int]
,因为理解是 运行 类型化数组。然而 barney
的实际值只是一个无类型的 boo.lang.list
:它恰好只包含 int 但它不会抱怨,例如,如果我尝试:
barney.Add("A")
我预计会失败但实际上会成功。
有没有一种方法可以使用理解语法来生成类型列表?
罗德里戈,boo 的创造者,provided the answer
fred = (1,2,3) # fred is an array of ints
barney = List[of int](i for i in fred)
带括号的表达式生成用于创建类型化列表的参数。
我似乎无法理解在 boo 中获得正确键入的列表理解的正确方法。由于编译器通过推理工作,我希望在这个例子中:
fred as (int)
fred = (1,2,3) # fred is an array of ints
barney = [i for i in fred]
barney
将是 list[of int]
,因为理解是 运行 类型化数组。然而 barney
的实际值只是一个无类型的 boo.lang.list
:它恰好只包含 int 但它不会抱怨,例如,如果我尝试:
barney.Add("A")
我预计会失败但实际上会成功。
有没有一种方法可以使用理解语法来生成类型列表?
罗德里戈,boo 的创造者,provided the answer
fred = (1,2,3) # fred is an array of ints
barney = List[of int](i for i in fred)
带括号的表达式生成用于创建类型化列表的参数。