当前位置: 首页 > wzjs >正文

织梦制作html 网站地图怎么做网站首页弹幕

织梦制作html 网站地图,怎么做网站首页弹幕,网站微信建设运维经验分享,wordpress主题多语言包2025-06-03 语言更新 1. 调用副作用函数时可省略 !,IDE 自动高亮错误与异步 调用带副作用的函数(抛出错误或异步)时的! 现在可以省略,IDE 的语义着色会自动给带错误的函数加上下划线,将异步函数标记为斜体 2. f?(…

2025-06-03

语言更新

1. 调用副作用函数时可省略 !,IDE 自动高亮错误与异步

  • 调用带副作用的函数(抛出错误或异步)时的·! 现在可以省略,IDE 的语义着色会自动给带错误的函数加上下划线,将异步函数标记为斜体

2. f?(..) 替换为更灵活的 try? 表达式语法

f?(..) 语法被替代为一个新语法 try? f(..)try? expr 等价于 try Ok(expr) catch { err => Err(err) },可以把错误转换为Result类型。相比原来的 f?(..)try? 具有更多的灵活性,它可以同时处理多处函数调用的错误。

例如

try? {f(..)g(..)
}

在迁移时,需要特别注意一种情况:f?(g!(..)) 不能简单翻译为 try? f(g(..)),因为这会导致 g 中的错误被重定向到 Result 中。这种情况需要先用 letg 的结果提取出来,再使用 try?

3. 新增了 “错误多态” 功能,允许高阶函数同时处理带错误和不带错误的参数:

fn[X] Array::each(arr : Array[X], f : (X) -> Unit?Error) -> Unit?Error {for x in arr {f(x)}
}fn main {let arr = [ "a", "b", "c" ]arr.each(println) // 无错误println(try? arr.each(fail)) // 输出 Err(Failure)
}

错误多态的语法是 (..) -> T?Error,在调用时,?Error 可以被替换为任意错误类型,也可以被抹去,变成没有错误的情况。例如,在上面的 each 函数中,如果参数 f 没有错误,那么 ?Error 会被替换为 “没有错误”,整个 each 函数的调用也不会抛出错误。如果 f 会抛出错误,那么 ?Error 会被替换为 f 实际的错误类型,整个 each 函数的调用也会抛出同样的错误

4. 废弃 fn meth(self: T) 风格,统一使用 fn T::meth(..) 定义方法

之前,使用 fn meth(self : T) 形式定义的方法既是方法也是函数,可以用 meth(..)@pkg.meth(..) 的形式直接调用。这一 “将方法当作普通函数使用” 的行为将被废弃,目前编译器会对这一行为的使用提出警告。
这一调整后,我们鼓励的 API 设计方式是:

  • 永远使用 fn T::meth(..) 的形式定义方法,新代码中不再使用 fn meth(self : T)(在以后,fn meth(self : T) 语法本身也可能被废弃)
  • 和某个类型绑定的 API 若无特殊理由,都鼓励设计成方法

5. . 语法支持使用 _ 的匿名函数

写法是 _.meth(..),同时,管道运算符|>的右手侧也支持了这种形式的匿名函数。注意使用这一语法时,必须能从上下文中得知_的类型,否则无法解析方法。例子:

fn main {let array_of_array = [ [], [ 1 ], [ 1, 2 ] ]let lens = array_of_array.map(_.length())lens |> _.each(println)
}

和直接写 x.meth(..) 相比,x |> _.meth(..) 的好处是,它可以把方法嵌入到一个现有的 |> 管线里,例如 x |> regular_func(..) |> _.meth(..)

6. 方法定义中支持用 Self 替代类型名,简化签名

fn TypeName::meth(..) 形式的方法声明中,可以使用 Self 来指代 TypeName,缩短类型签名的长度:

type MyLongTypeName Intfn MyLongTypeName::to_string(x : Self) -> String {x._.to_string()
}

如果 TypeName 有参数,使用 Self 时也需要提供参数

7. 使用方法实现 trait 的行为被正式移除

8. 函数的类型参数的位置从 fn f[..] 调整为 fn[..] f,从而和 impl 保持一致。这一改动可以使用格式化工具自动迁移

9. moon info 生成的 .mbti 文件中,方法的格式发生了变动。之前方法会被合并到一个大的 impl 块中,现在方法在 .mbti 中会被显示为一个扁平的列表,和 MoonBit 自身的语法保持一致

10. 异步函数的语法调整回了 async (..) -> T!Async 的语法由于和错误多态语法不兼容被废弃。这一改动可以使用格式化工具自动迁移

11. 增加了Float类型的字面量3.14F

标准库更新

CharShow::output 实现发生变更,现在对于所有不可打印字符会进行转译,包括 Control、Format、Surrogate、Private Use、Unassigned、Separator(除空格)等

工具链更新

单个 .mbt.md 文件支持外部依赖,用法如下:

---
moonbit:deps:moonbitlang/x: 0.4.23# moonbitlang/x:#   path: "/Users/flash/projects/x"  # local depsbackend:js
---
http://www.dtcms.com/wzjs/792520.html

相关文章:

  • 做视频网站投入多少永修县建设局网站
  • 广州外贸网站效果平面设计软件网站
  • 在哪里购买虚拟空间建设网站百度开户渠道
  • 江苏城乡建设学校网站网页设计入门教材pdf
  • 济南定机票网站建设建筑公司网站源码 php
  • 重庆如何做聚政网站微信小程序是怎么做的
  • 厦门网站建设门户广州互联网公司排名前20
  • 网站策划与运营手机网站主页推荐
  • 株洲市天元区建设局网站企业网站的设计与实现论文
  • 青岛做外贸网站的公司简介wordpress win主机
  • 门户网站 营销深圳微商城网站制作多少钱
  • 建设银行网站可以更改个人电话wordpress栏目title
  • 网站定制设计师免费的心理咨询平台
  • 工信和信息化部网站海外营销是干什么的
  • 没有版权可以做视频网站吗怎样说服公司做网站
  • 曲靖网站设计前端入门先学什么
  • 景安一个空间怎么做多个网站wordpress hierarchical
  • 电影采集网站建设网站建设与管理 ppt模板
  • 做爰网站贴吧优秀app界面设计案例
  • 怎么做网站报告友情链接分析
  • 常熟网站建设icp备案开发一个app难吗
  • 网站开发费会计处理国外做设计赚钱的网站
  • 设计什么网站简单wordpress范例
  • 相亲网站男人拉我做外汇面包屑导航wordpress
  • 海口网站制作网站莆田市秀屿区建设局网站
  • 网站建设硬件需求免费推广平台有哪些软件
  • 发布网站的流程国贸行业的网站建设
  • 电商网站建设与运营动漫wordpress
  • 重庆有那些制作网站的公司商标自助查询系统官网
  • 中堂仿做网站网站建设教论坛