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

apache 建立网站网站seo快速排名

apache 建立网站,网站seo快速排名,最近新闻摘抄,如何成为室内设计师weekly 2024-08-05 MoonBit更新 JSON字面量支持array spread。 let xs: Array[json.JsonValue] [1, 2, 3, 4] let _: json.JsonValue [1, ..xs]增加了类型别名的支持#xff0c;主要是为了渐进式代码重构和迁移#xff0c;而不是某种给类型简短名字的机制。例如#xf…weekly 2024-08-05 MoonBit更新 JSON字面量支持array spread。 let xs: Array[json.JsonValue] [1, 2, 3, 4] let _: json.JsonValue [1, ..xs]增加了类型别名的支持主要是为了渐进式代码重构和迁移而不是某种给类型简短名字的机制。例如假设需要把 stack.Stack 重命名为 stack.T一次性完成迁移需要修改大量使用 stack.Stack 的地方对于大项目很容易产生 conflict如果有第三方包使用了 stack.Stack则会直接造成 breaking change。使用 type alias则可以在重命名后留下一个 stack.Stack 的 alias使现有代码不会失效 /// alert deprecated Use T instead pub typealias Stack[X] T[X]接下来可以渐进式地逐步迁移对 stack.Stack 的使用、给第三方用户时间去适配新的名字。直到迁移全部完成再移除 type alias 即可。除了类型重命名typealias 还可用于在包之间迁移类型定义等等 增加了给 trait object 定义新的方法的支持 trait Logger {write_string(Self, String) - Unit }trait CanLog {output(Self, Logger) - Unit }// 给 trait object 类型 Logger 定义新的方法 write_object fn write_object[Obj : CanLog](self : Logger, obj : Obj) - Unit {obj.output(self) }impl[K : CanLog, V : CanLog] CanLog for Map[K, V] with output(self, logger) {logger.write_string(Map::of([)self.each(fn (k, v) {// 使用 Logger::write_object 方法来简化logger..write_string(()..write_object(k)..write_string(, )..write_object(v).write_string())})logger.write_string(])) }【breaking change】在可能返回错误的返回值类型 T!E 中错误类型 E 只能是使用 type! 关键字声明具体的错误类型目前支持以下两种声明方式 type! E1 Int // error type E1 has one constructor E1 with an Integer payload type! E2 // error type E2 has one constructor E2 with no payload函数声明中可以使用上述具体的错误类型来进行标注并通过使用 raise 来返回具体的错误比如 fn f1() - Unit!E1 { raise E1(-1) } fn f2() - Unit!E2 { raise E2 }添加了内置的 Error 类型作为默认的错误类型可以在函数声明中使用以下几种等价的声明方式来表明函数会返回 Error 类型的错误比如 fn f1!() - Unit { .. } fn f2() - Unit! { .. } fn f3() - Unit!Error { .. }对于匿名函数和矩阵函数可以通过使用 fn! 来标注该函数可能返回 Error 类型的错误比如 fn apply(f: (Int) - Int!, x: Int) - Int! { f!(x) }fn main {try apply!(fn! { x .. }) { _ println(err) } // matrix functiontry apply!(fn! (x) { .. }) { _ println(err) } // anonymous function }通过 raise 和 f!(x) 这种形式返回的具体的错误类型可以向上 cast 到 Error 类型比如 type! E1 Int type! E2 fn g1(f1: () - Unit!E1) - Unit!Error {f1!() // error of type E1 is casted to Errorraise E2 // error of type E2 is casted to Error }错误类型可以被模式匹配当被匹配的类型是 Error 的时候模式匹配的完备性检查会要求添加使用 pattern _ 进行匹配的分支而当其是某个具体的错误类型的时候则不需要比如 type! E1 Int fn f1() - Unit!E1 { .. } fn f2() - Unit!Error { .. } fn main {try f1!() { E1(errno) println(errno) } // this error handling is completetry f2!() {E1(errno) println(errno)_ println(unknown error)} }此外在 try 表达式中如果使用了不同种类的错误类型那么整个 try 表达式可以返回的错误类型会按照 Error 类型进行处理比如 type! E1 Int type! E2 fn f1() - Unit!E1 { .. } fn f2() - Unit!E2 { .. } fn main { try {f1!()f2!()} catch {E1(errno) println(errno)E2 println(E2)_ println(unknown error) // currently this is needed to ensure the completeness} }我们会在后续的版本中对此进行改进以使得完备性检查可能更加精确 添加了 Error bound以在泛型函数中对泛型参数加以约束使得其可以作为错误类型出现在函数签名中比如 fn unwrap_or_error[T, E: Error](r: Result[T, E]) - T!E {match r {Ok(v) vErr(e) raise e} }标准库更新 Bigint 变为builtin类型 构建系统更新 支持 debug 单个.mbt文件 moon test支持包级别的并行测试 moon.mod.json增加root-dir字段用于指定模块的源码目录只支持指定单层文件夹不支持指定多层文件夹。moon new会默认指定root-dir为srcexec 和 lib 模式的默认目录结构变为 exec ├── LICENSE ├── README.md ├── moon.mod.json └── src ├── lib │ ├── hello.mbt │ ├── hello_test.mbt│ └── moon.pkg.json└── main ├── main.mbt└── moon.pkg.json lib ├── LICENSE ├── README.md ├── moon.mod.json └── src ├── lib │ ├── hello.mbt│ ├── hello_test.mbt│ └── moon.pkg.json├── moon.pkg.json└── top.mbt工具链更新 MoonBit AI 支持生成文档
http://www.w-s-a.com/news/269611/

相关文章:

  • 网站的流量怎么赚钱经销做网站都有什么好处
  • 如何做好网站首页企术建站
  • 杭州网站建设咨询蓝韵网络聊城有制作网站的吗
  • 网站开发注意的事项深圳企业网站
  • 哈尔滨网站制作哪里专业网站建设维护有哪些内容
  • 花的网站建设规划书网络营销培训
  • 又拍云wordpress全站cdn无锡做网站品牌公司
  • 计算机网络工程网站建设黄石建设信息网站
  • 旅游网站开发毕业设计开题报告青岛网站建设服务公司
  • 人员调动在网站上怎么做网站开发课程意见和建议
  • 卓训网是个什么网站wordpress命令执行时间
  • 网站建设需要做哪些工作网片焊接
  • 网站优化方案dedecms win8风格网站模板
  • 企业如何制作网站管理系统慈溪住房和城乡建设部网站
  • 青岛网站建设有哪些公司区块链网站开发价格
  • 怎么设置网站的logo微信公众号的h5网站开发6
  • 粉色的网站绍兴市建设局网站
  • 个人网站的基本风格是wordpress 模板选择
  • 南昌专业做网站公司有哪些广州市住房城乡建设部门户网站
  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程