我正在尝试编写一个方法,在调用时,给定一个字符串列表和输出文件的名称,将每个元素输出到SML中的输出文件。我试过这个,但它似乎没有用。
fun quit(outFile: string, list: string list) =
let
val outStream = TextIO.openOut outFile
fun out(xs : string list) =
case xs of
[] => (TextIO.closeOut outStream)
| x::xs' => (TextIO.output(outStream, x); out(xs'))
in
out(list)
end
答案 0 :(得分:1)
您的代码有效,但它将所有字符串连接在一起,它们之间没有空格。大概这不是你想要的。如果您希望每个项目都在一个单独的行上,那么您将不得不手动添加换行符。在Windows上,您可以这样做:
"\n"
(在Linux或Mac上,您只需使用 import subprocess
for ping in range(1,10):
address = "127.0.0." + str(ping)
res = subprocess.call(['ping', '-c', '3', address])
if res == 0:
print ("ping to", address, "OK")
elif res == 2:
print ("no response from", address)
else:
print ("ping to", address, "failed!")
)。
或者,如果您希望所有内容都在一行上,但在元素之间使用逗号(如逗号),则可以先将字符串列表提供给函数concatWith,然后输出单个(分隔的)字符串到文本文件。