Ich habe einen Ausdruck geschrieben, der die größte von zwei Variablen findet und true zurückgibt, wenn sie gleich oder größer als eine Grenzwertvariable ist. Sie sind alle Ganzzahlen.Swift: Warum scheitert dieser gültige Ausdruck in ternärer Form?
if max(num1, num2) >= limit {
result = 3
} else {
result = 2
}
das funktioniert gut, aber wenn ich versuche, es in dem kompakteren ternären Format um es mit abgelehnt wird: ‚nicht finden konnte eine Überlastung für‚> =‘, die die angegebenen Argumente akzeptiert‘.
max(num1, num2) >= limit ? result = 3 : result = 2
Ich habe versucht, die bedingten in verschiedenen Bracket-Konfigurationen, aber es schlägt immer noch fehl. Irgendwelche Ideen?
Weitere Experimente zeigen, dass das Problem an der Grenze zusammenhängt var als implizit ungeöffneten Variable gesetzt werden, obwohl dies in der Init-Block festgelegt ist:
limit: Int!
init (num: Int) {
limit = num
}
Vielen Dank. Kw
Vielen Dank für Ihre informative Antwort, sehr hilfreich – Kwangle