ocaml - 返回元组的函数 (length_of_element,element)
问题描述
我想知道 OCAML 中是否有一种方法可以返回字符串列表的字符串元素的长度和元素本身?我想做这样的事情:
let (length_of_element,element) = List.map String.length ["Hello"; "World!"] in .....
我希望in关键字传递到代码的下一部分,length_of_element
即元素“Hello”的长度(如果我们在循环 0)和元素本身的长度,即“Hello”(如果我们在在循环 0)
更新
let () =
let t = Sys.time() in
let args_n = Array.length Sys.argv - 1 in
let args_list = Array.to_list (Array.sub Sys.argv 1 args_n) in
List.iter (fun element ->
let length_of_element = String.length element in
let text = check_if_file(List.nth args_list 1) in
let int_ls = search (to_list_ch element) text length_of_element) check_if_file(List.nth args_list 0 ) in
if (List.length int_ls)> 1 then print_string "pattern found at characters "
else if (List.length int_ls) = 1 then print_string "Pattern found at character "
else print_string "No patterns found."
;
print_ls int_ls;
Printf.printf "Execution time: %fs\n" (Sys.time() -. t);;
在我这个函数的用例中,check_if_file(List.nth args_list 0 )
是我的列表。
我试图实现Guillaume Melquiond在他的回答中告诉我的内容,但我收到了这个错误:
错误:语法错误:应为运算符。
(错误指向这一行:
let int_ls = search (to_list_ch element) text length_of_element) check_if_file(List.nth args_list 0 ) in
有人会是这个错误的来源吗?
任何帮助,将不胜感激。
解决方案
第二个问题。
(理想情况下,您应该在每个 StackOverflow 帖子中问一个问题。)
您提取的文本有 3 个右括号,只有 1 个左括号。这可能与您的语法错误有关。
推荐阅读
- teamcity - TeamCity 构建配置触发器设置为等待复合构建完成不触发
- text-files - 游戏制作者 file_text_open_read 给出错误
- file - 打开大型 NFO 文件
- flutter - 使用 StreamBuilder 代替 FeatureBuilder 来避免 Firestore 中的 whereIn 10 限制
- node.js - Express session regenerate回调被多次调用
- javascript - 在js中的字符串之间添加空格
- php - 在运行相同代码的两台不同服务器上收到不同的 GoogleAuthenticator 代码
- c# - 如何使我的 C# 应用程序使用其 SQLite 数据库的副本实际部署?
- android - 如何使用 Exoplayer 播放从 Mediastore 获取的视频
- reactjs - 当 Firestore 已经在 Next.js 应用程序中运行时,它会继续尝试设置模拟器