||
이건 제공된 강의 어딘가에 나와있던 기억이 있지만,
강의의 내용들은 거의 기억이 나지 않음으로 과제를 하면서 사용하면 편할 거 같아 사용하기로 했다.
let a = 5
let b = 10
if a < 0 || b < 0 {
print("At least one number is negative.")
} else {
print("Both numbers are non-negative.")
}
|| 이것은 또는 이라는 의미를 가지고 있다.
즉 ||의 앞 뒤 중 하나만이라도 참이라면 참을 출력해줄 것이다.
하지만 앞 뒤 둘다 거짓이라면 거짓을 출력한다.
- repeat {...} while
repeat {
a = Int.random(in: 1...9)
b = Int.random(in: 1...9)
c = Int.random(in: 1...9)
} while a == b || b == c || c == a
{...}는 while 조건과 일치하지 않을 때까지 반복 repeat를 해주는 공식이다.
- readline()
print("Enter your name:")
if let name = readLine() {
print("Hello, \(name)!")
}
command-line interface에서 input을 받기 제일 기본적인 방법이다.
text를 standard input으로 받고, 그것을 optional string으로 return해준다.
- In Swift, when you have an integer value, you can't directly access individual digits using array-like indexing.
func provideFeedback(playerGuess: Int, answer: Int) {
let playerGuessString = String(playerGuess)
let answerString = String(answer)
var strikes = 0
var balls = 0
for (index, digit) in playerGuessString.enumerated() {
if digit == answerString[index] {
strikes += 1
} else if answerString.contains(digit) {
balls += 1
}
}
해석:
처음에는 플레이어의 답은 Int로 나올 걸 예상하고 아래의 String부분은 Int로 나와야 한다고
생각을 했다. 하지만, 과제를 하면서 알게 된 부분은,
integer 값이 있다면, array 형식의 인덱스에 직접적인 접근이 불가능하다였다.
그래서 접근을 가능케하려면 String으로 설정을 해야하는 부분이었다.
let playerGuessString = String(playerGuess)
let answerString = String(answer)
중요한 내용 위주로 정리 하셨네요! 특히 4번 정말 공감돼요. Swift는 타입에 민감한 언어니까 타입도 엄격히 맞춰주어야 하고, 각 문법마다 지켜야 하는 규칙이 어려운 것 같아요. 머리론 이해가 되는데 막상하려면 잘 안되네용. 저도 과제하면서 저 입력값이랑 출력 타입이 자꾸 오류가 나서 여러번 수정을 거듭했답니다.,,,,, 과제하느라 고생하셨어요!