已编辑,因为问题与同一计划有关。
我正在尝试将第一个向量中的前五十个项目写入topfifty变量,然后返回到其他地方使用。
"gets the closest 50 locations in the file fName and writes them out by sending a function to the agent"
[fName]
(let [sorted (sort-by sortFn (makeStructs fName))
topFifty ;TODO take the top 50 from sorted
]
我究竟如何在clojure中这样做?我是该语言的新手,从未使用过lisp。我宁愿不使用for循环,因为它不是完全正常的功能。
答案 0 :(得分:3)
要回答新问题(我的其他答案已回复的问题已被替换):(take 50 sorted)
将返回sorted
的前50个元素。
答案 1 :(得分:1)
您可能需要(apply struct storeinfo vals)
之类的内容,其中vals
是您分割的结果。这会将vals
中的所有值解压缩到(struct storeinfo ...)
的调用中,该调用会按照与其定义相同的顺序从初始值创建storeinfo
。