写入后读取*standard-input*Common Lisp

phl*_*lie 2 lisp common-lisp stream fifo

这是一个非常简单的问题.我正在尝试解决HackerRank问题,但不完全理解我如何写入*standard-input*以便在我的计算机上运行代码.

它要求给定一个数组,给定数组的长度(N),然后是数组本身全部在*standard-input*上.

Hackerranks使用*standard-input*来给出值,如果我可以在输入中存储值然后读取它们,那将是最简单的.

我的问题是如何写入*standard-input*?这将使我在计算机上而不是在云中工作变得更加容易.

jki*_*ski 5

使用with-input-from-string.

(with-input-from-string (s "4 3 2")
  (let ((a (read s))
        (b (read s))
        (c (read s)))
    (format t "~a, ~a, ~a~%" a b c))) 
Run Code Online (Sandbox Code Playgroud)

您也可以只读取文件,但是从字符串中读取更容易进行不同的测试用例.