首页 > 解决方案 > 如何从普通lisp中的文件中读取两个整数

问题描述

(defun read-file (filename)
    (with-open-file (stream filename)
        (loop for line = (read-line stream nil)
            while line
                collect line)
    )
)

我对 lisp 完全陌生,所以我想逐个整数地读取整数,但我有一行一行的代码。所以我找不到那个。

例如我的文件;

10 20

我需要帮助.thx

标签: file-iocommon-lisp

解决方案


不确定你到底在问什么,所以这里有一个简短的建议,将文件读入字符串,用空格分割,然后用 解析每个数字parse-integer

(mapcar #'parse-integer (str:words (uiop:read-file-string "foo.txt")))

uiop来自 ASDF 并包含在所有主要实现中,str是一个快速加载的库。

uiop 也有read-file-lines


推荐阅读