首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ocaml不可变字符串的优点

ocaml不可变字符串的优点
EN

Stack Overflow用户
提问于 2018-01-20 21:54:22
回答 2查看 194关注 0票数 2

我最近在https://github.com/dbuenzli/astring上遇到了Ocaml的Astring模块。

该库的作者在自述文件中陈述了以下内容:

代码语言:javascript
复制
...fully exploits OCaml's newfound string immutability

字符串的不变性给字符串库的实现带来了什么好处?我试着阅读了源码,但没有找到任何具体的优点。是否有性能上的好处?它允许更安全的模式吗?

EN

回答 2

Stack Overflow用户

发布于 2018-01-21 01:11:19

不变性的主要用途是您可以在不需要副本的情况下操作子字符串。

这就是为什么会有a separate module for substrings。如果字符串是可变的,那么整个模块就不会是好的。

票数 4
EN

Stack Overflow用户

发布于 2018-01-22 03:57:51

当你的函数返回一个字符串并且这个字符串已经存在的时候,你不需要为你的结果复制一个现有的字符串。

这里有几个简单的例子:

代码语言:javascript
复制
String.append s "" 
String.append "" s
String.trim "bla"

如果您的字符串是可变的,那么在这些情况下,您总是必须返回一个副本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48356949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档