私はSwiftの初心者で、SwiftStringを扱うのに苦労しています。
他の言語とは多くの違いがあると思います。
それで、誰かがこのステートメントが間違っている理由を教えてもらえますか?
行を読み取り、各整数を変数に挿入したい n, l
Cでは、このように-> scanf("%d %d", &n, &l);
var n, l : Int?
var read : String = readLine()!
n = Int(read[read.startIndex])
l = read[read.index(read.startIndex, offsetBy : 2)]
SwiftでCLIツールの入力を処理する最良の方法は、おそらく公式のArgumentParserライブラリを使用することです。
しかし、非常に単純な実装には、次のようなものが含まれます。
Int
sに解析してみてくださいもちろん、次の例は学習以外の目的に使用できるものではありません...:
print("Please input 2 numbers separated by space:")
let read = readLine()
if let inputs = read?.split(separator: " ") // Split using space
.map(String.init) // Convert substring to string
.compactMap(Int.init), // Try to convert to Ints (get rid of nils)
inputs.count > 1 { // Ensure that we got at least 2 elements
let (n, l) = (inputs[0], inputs[1])
print(n, l)
} else {
// Handle the case
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加