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

时间:2016-10-10 08:10:12

标签: clips

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

我的数据文件如下所示:

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

我目前所关注的问题是我将如何恰当地解析这个问题,因为我需要用最后两位数字对列表进行排序。

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

我的另一个想法是把它读成一个无序的事实,只是在排序时检查最后一个插槽,但我想更多地使用这个语言,所以我可以利用更多的内置功能。<​​/ p>

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

1 个答案:

答案 0 :(得分:2)

您可能会发现一些有用的功能:

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>