这是一个非常简单的问题。我正在尝试解决HackerRank问题,但是我不能完全理解如何写入* standard-input *以便在我的计算机上运行代码。
它要求在给定数组长度(N)的情况下对数组求和,然后将数组本身全部放在* standard-input *上。
Hackerranks使用* standard-input *来给出值,如果我可以在输入中存储值然后读取它们,那将是最简单的。
我的问题是如何写入* standard-input *?这样可以更轻松地在我的计算机上工作,而不是在云中工作。
答案 0 :(得分:5)
(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)))
您也可以只读取文件,但是从字符串中读取更容易进行不同的测试用例。
答案 1 :(得分:2)
Pure Common Lisp不提供流,您可以轻松写入,缓冲输出并将其读回。 Pure Common Lisp也不提供可扩展的流。但是有一个名为 grey streams 的扩展名(由David N. Gray提出为ANSI CL问题https://github.com/Sirsirious/SPDMap),它允许使用fifo缓冲区实现管道流。