引用元组的类型化元素
referencing typed element of tuple
发现较晚(用于定义 类)元组并查看 documentation 我想知道是否有一种机制可以获取给定 TUPLE
的正确类型。
目标是锚定其类型并避免在获取项目之前必须测试其类型。
有没有语言机制?
我也发现了一些关于它们的文档,也许我没有找对地方。
对于下面的代码,我想告诉 like tuple_items.types[1]
和 tuple_items.typed_item (1)
use_it
do
if attached {STRING} tuple_items.item (1) as l_tuple_item_1 then
io.put_string (l_tuple_item_1)
end
if attached {DATE} tuple_items.item (1) as l_tuple_item_2 then
io.put_string (l_tuple_item_2.out)
end
- ...
end
tuple_items: TUPLE[STRING, DATE, INTEGER]
local
l_first: STRING -- like tuple_items.first?
do
Result := [l_first, create {DATE}.make_now, 1]
end
命名元组允许按名称访问元组项:
tuple_items: TUPLE [name: STRING; date: DATE; quantity: INTEGER]
然后,特征use_it
简化为
io.put_string (tuple_items.name)
io.put_string (tuple_items.date.out)
目前,元组项名称不能用于锚定类型,因此无法指定 l_first
相对于元组项类型的类型。解决方法可能是添加锚点
name_anchor: STRING
require
is_callable: False
do
check from_precondition: False then end
end
并在锚定类型中使用它,包括元组声明:
tuple_items: TUPLE [name: like name_anchor; date: DATE; quantity: INTEGER]
local
l_first: like name_anchor
发现较晚(用于定义 类)元组并查看 documentation 我想知道是否有一种机制可以获取给定 TUPLE
的正确类型。
目标是锚定其类型并避免在获取项目之前必须测试其类型。
有没有语言机制?
我也发现了一些关于它们的文档,也许我没有找对地方。
对于下面的代码,我想告诉 like tuple_items.types[1]
和 tuple_items.typed_item (1)
use_it
do
if attached {STRING} tuple_items.item (1) as l_tuple_item_1 then
io.put_string (l_tuple_item_1)
end
if attached {DATE} tuple_items.item (1) as l_tuple_item_2 then
io.put_string (l_tuple_item_2.out)
end
- ...
end
tuple_items: TUPLE[STRING, DATE, INTEGER]
local
l_first: STRING -- like tuple_items.first?
do
Result := [l_first, create {DATE}.make_now, 1]
end
命名元组允许按名称访问元组项:
tuple_items: TUPLE [name: STRING; date: DATE; quantity: INTEGER]
然后,特征use_it
简化为
io.put_string (tuple_items.name)
io.put_string (tuple_items.date.out)
目前,元组项名称不能用于锚定类型,因此无法指定 l_first
相对于元组项类型的类型。解决方法可能是添加锚点
name_anchor: STRING
require
is_callable: False
do
check from_precondition: False then end
end
并在锚定类型中使用它,包括元组声明:
tuple_items: TUPLE [name: like name_anchor; date: DATE; quantity: INTEGER]
local
l_first: like name_anchor