-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")
}
}