華為Harmony OS Next 出了倉頡編程語言

本帖最後由 javacomhk 於 2024-6-26 11:57 編輯

倉頡編程語言的 Hello World
  1. extend String {
  2.     public func map(mapper: (String) -> String): String {
  3.         mapper(this)
  4.     }
  5. }

  6. main() {
  7.     var str = "Hello World !"
  8.     str = str.map() {
  9.         s => "Cangjie: " + s
  10.     }
  11.     println(str)
  12. }
複製代碼
都係C like syntax 但其實好似 Kotlin 如下
  1. fun String.map(mapper: (String) -> String): String {
  2.     return mapper(this)
  3. }

  4. fun main() {
  5.     var str = "Hello World!"
  6.     str = str.map { s -> "Cangjie: $s" }
  7.     println(str)
  8. }
複製代碼
extension 又似 Swift Programming Language 的

Swift 的 Hello World
  1. extension String {
  2.     func map(_ mapper: (String) -> String) -> String {
  3.         return mapper(self)
  4.     }
  5. }

  6. func main() {
  7.     var str = "Hello World!"
  8.     str = str.map { s in
  9.         "Cangjie: " + s
  10.     }
  11.     print(str)
  12. }

  13. main()
複製代碼
而 Closure 嘅 syntax 就似Javascript 咁
  1. String.prototype.map = function(mapper) {
  2.     return mapper(this);
  3. }

  4. function main() {
  5.     let str = "Hello World!";
  6.     str = str.map(s => "Cangjie: " + s);
  7.     console.log(str);
  8. }

  9. main();
複製代碼
有興趣倉頡編程語言的朋友可參考這篇
https://www.cnblogs.com/fanzhidongyzby/p/18267963/cangjie