我对此绝对不知所措。我的教练在寻找什么?有什么建议吗?
开始这样的事情,但我刚刚离开..
enum Color: String {
case blue = "orange"
case red = "green"
case yellow = "purple"
}
func complement(_ color) -> String {
case
}
问题: 创建一个文字,Color
三种原色和三种辅助色。然后创建一个函数complement
该函数将返回所提供颜色的补色。
Red's complement is green
Blue's complement is orange
Yellow's complement is purple
complement(.red) -> .green
complement(.orange) -> .blue
更新:
enum Color: String {
case red = "red"
case green = "green"
case blue = "blue"
case yellow = "yellow"
case orange = "orange"
case purple = "purple"
}
func compliment(_ color: Color) -> Color {
switch color {
case .red: return .green
case .green: return .red
case .blue: return .orange
break
}
}
let red = Color.red
let compliment = compliment(red)
print(compliment)
let green = Color.green
let compliment = compliment(green)
print(compliment)
let blue = Color.blue
let compliment = compliment(blue)
print(compliment)
错误:变量在其自己的初始值内使用
let compliment = compliment(red)
它为每个实例执行此操作
由于这是家庭作业,我会给你足够的指针来帮助你入门,但不会为你做。
enum Color: String {
case red = "red"
case green = "green"
case blue = "blue"
case yellow = "yellow"
case orange = "orange"
case purple = "purple"
}
func complement(_ color: Color) -> Color {
switch color {
case .red: return .green
case .green: return .red
case .blue: return .orange
// etc.
}
}
let red = Color.red
let compliment = complement(red)
print(compliment)
在不深入色彩理论的情况下,红色的补充不是蓝色 - 它是青色。对于绿色,它是洋红色。蓝色的补充是黄色的。
这更通用。您不必创建具有显式String
的类型。
enum Color {
case red
case green
case blue
case orange
case yellow
case violet
}
func complement(_ color: Color) -> Color {
switch color {
case .red: return .green
case .green: return .red
case .blue: return .orange
case .orange: return .blue
case .yellow: return .violet
case .violet: return .yellow
}
}
let red = Color.red
let redComplement = complement(red)
print("Complement of (red) is (redComplement)")
let green = Color.green
let greenComplement = complement(green)
print("Complement of (green) is (greenComplement)")