OCaml:读取文件中的特定行
我的问题很简单,我想读文件中的第三行。这是我的代码,我认为它应该可以工作 但它不。。。谁能给我解释一下为什么OCaml:读取文件中的特定行,ocaml,Ocaml,我的问题很简单,我想读文件中的第三行。这是我的代码,我认为它应该可以工作 但它不。。。谁能给我解释一下为什么 open Printf let filename = "T:\\Soton Uni\\ok.txt" let () = let ic = open_in filename in let line_counter = 0 in try while true; do line_counter = line_count
open Printf
let filename = "T:\\Soton Uni\\ok.txt"
let () =
let ic = open_in filename in
let line_counter = 0 in
try
while true; do
line_counter = line_counter + 1;
let line = input_line ic in
if line_counter = 3 then
print_endline line;
done;
flush stdout;
close_in ic
with e ->
close_in_noerr ic;;
OCaml中的变量永远都是不可变的——它们可以引用可变数据,但变量指向的内容不能更改 因此,命令式样式变量initialize和update可以这样编写:
let line_counter = ref 0 in
while true; do
line_counter := !line_counter + 1
if !line_counter = 3 then
print .....
done;
要使用引用初始化变量,请执行以下操作:
let var_name = ref value;
要取消引用变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
要更新变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
OCaml中的变量永远都是不可变的——它们可以引用可变数据,但变量指向的内容不能更改 因此,命令式样式变量initialize和update可以这样编写:
let line_counter = ref 0 in
while true; do
line_counter := !line_counter + 1
if !line_counter = 3 then
print .....
done;
要使用引用初始化变量,请执行以下操作:
let var_name = ref value;
要取消引用变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
要更新变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
OCaml中的变量永远都是不可变的——它们可以引用可变数据,但变量指向的内容不能更改 因此,命令式样式变量initialize和update可以这样编写:
let line_counter = ref 0 in
while true; do
line_counter := !line_counter + 1
if !line_counter = 3 then
print .....
done;
要使用引用初始化变量,请执行以下操作:
let var_name = ref value;
要取消引用变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
要更新变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
OCaml中的变量永远都是不可变的——它们可以引用可变数据,但变量指向的内容不能更改 因此,命令式样式变量initialize和update可以这样编写:
let line_counter = ref 0 in
while true; do
line_counter := !line_counter + 1
if !line_counter = 3 then
print .....
done;
要使用引用初始化变量,请执行以下操作:
let var_name = ref value;
要取消引用变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
要更新变量引用的值,请执行以下操作:
!var_name
var_name := !var_name + value
作为对@gautamc答案的补充:
=
是相等运算符,因此line\u counter=line\u counter+1
测试行计数器
是否等于行计数器+1
,并忽略结果。作为@gautamc答案的补充:=
是相等运算符,因此行计数器=行计数器+1
测试行计数器
是否等于行计数器+1
,并忽略结果。作为@gautamc答案的补充:=
是相等运算符,因此行计数器=行计数器+1
测试行计数器
是否等于行计数器+1
,并忽略结果。作为@gautamc答案的补充:=
是相等运算符,因此行计数器=行计数器+1代码>测试行计数器
是否等于行计数器+1
,并忽略结果。