数据库部分 Turbo Prolog 中不同类型的列表

List of different types in database section Turbo Prolog

Turbo Prolog 并不像看起来那么容易。还有一个问题。使用 Turbo Prolog 2.0.

我有两个部分域和数据库:

domains

    tablet_name = symbol

database

    additional(tablet_name, [])

如何让 prolog 知道 [] 将是不同类型的列表,例如 integer, integer, symbol, integer,symbol, symbol and so on

如果只是整数就很简单了,像additional(tablet_name, integer*)。但实际上,我需要保留一个包含不同数据量的列表。

结果应该是这样的:additional('Acer 525', [23, yes]), additional('Acer 525', [23])

抱歉,我没有可用的 Turbo Prolog。但是从 this specification page for Visual Prolog 看来,您可以使用非常类似于 Prolog 的语法声明复合域。所以,试试

domains
   ...
   tablet_attr = size(integer,integer) ; weight(integer) ; ...
   tablet_attrs = [tablet_attr*]