逐行读取Ocaml
我有一个ocaml代码:逐行读取Ocaml,ocaml,Ocaml,我有一个ocaml代码: 让我们在中读取文件名=“/home/test.txt” let in\u channel=打开文件中的\u\u name in 尝试 尽管如此 let line=输入信道中的线路 打印尾行 完成 带有\u文件的结尾\u-> 在频道中关闭 让我的快乐= 让f=“test1.ml”进入 读取文件f ;; 我的乐趣() 但它只打印文件的第1行 你能帮我一下吗?你的代码在第2行的“未绑定值文件名”中显示了一个错误。我刚刚将read_file转换为一个函数,并使用文件路径调用它
让我们在中读取文件名=“/home/test.txt”
let in\u channel=打开文件中的\u\u name in
尝试
尽管如此
let line=输入信道中的线路
打印尾行
完成
带有\u文件的结尾\u->
在频道中关闭
让我的快乐=
让f=“test1.ml”进入
读取文件f
;;
我的乐趣()
但它只打印文件的第1行
你能帮我一下吗?你的代码在第2行的“未绑定值文件名”中显示了一个错误。我刚刚将
read_file
转换为一个函数,并使用文件路径调用它:
let read_file file_name =
let in_channel = open_in file_name in
try
while true do
let line = input_line in_channel in
print_endline line
done
with End_of_file ->
close_in in_channel
let my_fun() =
let f = "home/test.txt" in
read_file f;;
my_fun()
使用此代码对文件调用$ocaml
,将文件中的每一行打印到指定的stdout路径
编辑:添加有关文件结构和如何执行的更多详细信息: 我有一个名为
sample dir
的目录,其中包含以下内容:
sample-dir
├── home
│ └── test.txt
└── sample.ml
代码位于sample.ml
中,test.txt
位于名为home
的子目录中。test.txt
的内容如下:
one
two
three
Icd
进入sample dir
并执行以下命令:
$ ocaml sample.ml
我得到以下输出:
one
two
three
出现此错误:$ocamlbash:syntax error靠近意外标记'newline',尖括号不在命令中。尝试
ocaml efa.ml