根据家庭作业,我需要从数据文件中读取数据。
我的数据文件如下所示:
Linda A. Martin 43
Phyllis Sebesta 40
Robert Delwood 38
Jack Kennedy 39
Glen Steele 37
我目前所关注的问题是我将如何恰当地解析这个问题,因为我需要用最后两位数字对列表进行排序。
我想到的一个策略是检查数据类型,因为我做(read infile)
,但我不确定我该怎么做。
我的另一个想法是把它读成一个无序的事实,只是在排序时检查最后一个插槽,但我想更多地使用这个语言,所以我可以利用更多的内置功能。</ p>
是否有任何CLIPS功能可以确定从打开的文件中读取的数据类型?
答案 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>