小技巧: MoonBit-Array pattern 中用字符串字面量和常量匹配子字符串

212 天前
 Hooooooey

Array pattern 的小技巧,原来在匹配时,可以直接用字符串字面量和常量来匹配子字符串,而不用逐个字符进行匹配。MoonBit 最新的模式匹配的用法,发现可以这样处理不同协议的 URL 。例如,直接用 [..HTTP, ..path] 来匹配以 http:// 开头的字符串,或者用 [..HTTPS, ..path] 来匹配 https:// 开头的字符串。

const HTTP = "http://"
const HTTPS = "https://"

fn main {
  let str = "https://try.moonbitlang.com"
  match str {
    [..HTTP, .. path] => println(path),
    [..HTTPS, .. path] => println(path),
    _ => println("unexpected protocol")
  }
}

以上来源为 MoonBit 公众号

980 次点击
所在节点    程序员
2 条回复
anivie
212 天前
复制到里面的网址里运行被报错了?为什么那里不能用逗号,版本问题吗
Hooooooey
211 天前
@anivie 7 、8 行最末端的逗号去掉试试,以及不需要逗号是因为 MoonBit 有自动分号插入

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1116153

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX