-1
它有效,但我認爲不夠好。是否有可能在if-let構造之外使用readLine()?我只是發現範圍非常有限,不相信我可以使用此方法從命令行使用此方法傳遞參數。任何人都可以提出更好的方法解決這個問題?我該如何改進這個Swift readLine代碼?
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")
}
}