let roomSize = "medium"
let sofasize = "large"
if roomSize == "large" {
print ("can fit")
} else if roomSize == "medium" && ( sofasize == "medium" || sofasize == "small") {
print ("can fit")
} else if roomSize == "small" && sofasize == "small" {
print ("can fit")
} else {
print("nope, cannot fit")
}
在swift中格式化此程序的最佳方法是什么?
答案 0 :(得分:4)
嗯,“最好”和“最佳”是主观的。我的建议是避免stringly-typed编程。使用enum
。
我假设你会从外部源(可能是一些JSON)获得"small"
和"large"
等字符串。如果您使用enum
作为原始值进行String
,则可以为您解析字符串。然后,您可以添加某些rank
类型的Comparable
属性,例如Int
或Double
,并使用rank
生成enum
本身{ {1}}。
Comparable
答案 1 :(得分:1)
其中一个可能的想法:
enum MySize: Int {
case small = 1, medium = 2, large = 3
}
let myRoomSize: MySize = .medium
let mySofaSize: MySize = .large
if mySofaSize.rawValue <= myRoomSize.rawValue {
debugPrint("can fit")
} else {
debugPrint("nope, cannot fit")
}
但......我认为其他概念也完全有效。