Es funktioniert, aber ich denke nicht, dass es gut genug ist. Ist es möglich, readLine() außerhalb eines if-let-Konstrukts zu verwenden ??? Ich finde den Umfang sehr einschränkend und glaube nicht, dass ich Argumente übergeben kann, die dies über die Befehlszeile mit dieser Methode verwenden. Kann jemand einen besseren Ansatz für dieses Problem vorschlagen?Wie kann ich diesen Swift readLine-Code verbessern?
import Foundation
print("\nTemperature Conversion\n")
print("What is your current Temperature Unit?\n ")
print("Valid options are f or F for Fahrenheit, c or C for Celsius: \n")
if var temp = readLine() {
switch temp{
case "c","C":
print("And the temperature: ")
if var degrees = readLine() {
var fahr = (5 * Float(degrees)! * 1.8 + 32)
print("\(degrees) Degrees is equal to \(fahr) degrees Fahrenheit. \n")
} else {
print("You entered an invalid temperature")
}
case "f","F":
print("Fahrenheit")
if var degrees = readLine() {
var celsius = (5 * Float(degrees)! - 32)/9;
print("\(degrees) Degrees is equal to \(celsius) degrees Fahrenheit. \n")
} else {
print("You entered an invalid temperature")
}
default:
print("Not a valid Temperature unit")
}
}