目录

一、练习题

二、小结


一、练习题

1. 将自然语言描述的“真 与 假”等最简单的逻辑用语,翻译成“true && false”。

类图

核心代码

package DesignPattern.interpreter
import std.collection.*

// 抽象表达式
abstract class Node {
    public func interpret(): String
}

class BoolNode <: Node {
    public BoolNode(private let node: String) {}

    public override func interpret() {
        if (node == "真") {
            return "true"
        } else if (node == "假") {
            return "false"
        } else {
            return "非法指令"
        }
    }
}

// 符号结点类
class SymbolNode <: Node {
    public SymbolNode(private let node: String) {}

    public override func interpret() {
        if (node == "与") {
            return " && "
        } else if (node == "或") {
            return " || "
        } else {
            return "非法指令"
        }
    }
}

// 指令处理类
public class Order {
    public func out(datas: Array<String>) {
        let words = ArrayList<Node>()
        for (data in datas) {
            if (data == "与" || data == "或") {
                words.add(SymbolNode(data))
            } else if (data == "真" || data == "假"){
                words.add(BoolNode(data))
            }
        }

        for (word in words) {
            print(word.interpret())
        }
    }
}

测试代码

package DesignPattern
import DesignPattern.interpreter.*

main(): Int64 {
    let string = "真 与 假"
    let arr = string.split(" ")
    let order = Order()
    order.out(arr)
    return 0
}

二、小结

本章为大家详细的介绍了仓颉设计模式中解释器模式练习题的内容,下一章,为大家带来迭代器模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐