检查在 CLIPS 中读取的文件的数据类型

Checking data type of file read in CLIPS

根据家庭作业,我需要从数据文件中读取数据。

我的数据文件看起来像这样:

Linda A. Martin 43
Phyllis Sebesta 40
Robert Delwood 38
Jack Kennedy 39
Glen Steele 37

我目前遇到的问题是如何适当地解析它,因为我需要按末尾的两位数对列表进行排序。

我想到的一个策略是在执行 (read infile) 时检查数据类型,但我不确定该怎么做。

我的另一个想法是将它读入一个无序的事实,并在排序时只检查最后一个槽,但我想更多地使用该语言,这样我就可以利用更多的内置功能。

是否有任何 CLIPS 功能可以确定从打开的文件中读入的数据类型?

一些您可能会觉得有用的函数:

CLIPS> (readline)
Glen Steele 37
"Glen Steele 37"
CLIPS> (explode$ (readline))
Glen Steele 37
(Glen Steele 37)
CLIPS> (nth$ 3 (explode$ (readline)))
Glen Steele 37
37
CLIPS> (type (nth$ 3 (explode$ (readline))))
Glen Steele 37
INTEGER
CLIPS> (str-assert (str-cat "(person " (readline) ")"))
Glen Steele 37
<Fact-1>
CLIPS> (facts)
f-0     (initial-fact)
f-1     (person Glen Steele 37)
For a total of 2 facts.
CLIPS>