在编程时我是新手,刚开始学习Swift。对于我正在努力解决的以下阵列概念,我们将不胜感激。
如何缩短以下编码,以便减少If语句的数量。因此,当选择“battlename = name [0]”索引时,语句会自动选择相同索引级别的相应怪物,而不必使用如此多的If语句。
希望我有意义。
{{1}}
答案 0 :(得分:7)
您可以使用以下单个条件替换所有条件:
if let index = names.indexOf(battlename) {
print(battlename, "Vs.", monsters[index])
}
此外,如果您想在简介中打印怪物名称列表,而不是仅打印数组,您可以将项目作为字符串加入,这是一个提示:
print(battlename, "Vs.", monsters.joinWithSeparator(", ")) // "Arthur Vs. Dragon, Boar, Giant, Griffin"
答案 1 :(得分:0)
var names = ["Lancelot", "Arthur", "Gawain", "Galahad"]
var monsters = ["Dragon", "Boar", "Giant", "Griffin"]
let battlename = names[1]
var index = names.indexOf(battlename)
if index != nil
{
print(battlename, "Vs.", monsters[index!])
}
else
{
print("No match")
}