仓库源文站点原文

注:仅从个人关注的方面看两者设计,绝非两个语言项目的全面综合比拼更无意分出高下

猜数字例程

对比

为对照方便,对应语句已对齐。如有错漏请不吝指教。

大同小异

代码的业务部分从行数和形式上都很接近。

相同

不同

仓颉中符号的多义

可读性

判断条件

木兰中不需小括号感觉更接近自然语法。

插值

木兰的 `` 视觉上比较轻盈,省出 $ 符号用于 代替self及用于将关键词前缀作标识符

【待续】

报错机制与信息内容与风格、语法、api 命名风格(开头大小写等)、关键词

附录:代码文本

例程源于 上文,木兰部分为对照方便起见作了些微调整。

木兰

测试环境:pypi发布版 v0.1.6

using * in random

想的 = randrange(50)

while true {
  猜的 = int(input("猜吧:"))
  if (猜的 > 想的) {
    println("大了")
  } elif 猜的 < 想的 {
    println("小了")
  } else {
    println("`猜的` 中了!")
    break
  }
}

仓颉

v0.53.4

import std.console.*
import std.random.*
import std.math.*
import std.convert.*

main() {
  let 想的 = abs(Random().nextInt64()%50)

  while(true) {
    let 猜的 = Int64.parse(Console.stdIn.readln() ?? "")
    if(猜的 > 想的) {
      println("大了")
    } else if (猜的 < 想的) {
      println("小了")
    } else {
      println("${猜的} 中了!")
      break
    }
  }
}