跟我一起学“仓颉”设计模式-解释器模式练习题
本章为大家详细的介绍了仓颉设计模式中解释器模式的内容。
·
目录
一、练习题
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
}
二、小结
本章为大家详细的介绍了仓颉设计模式中解释器模式练习题的内容,下一章,为大家带来迭代器模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐
所有评论(0)