검색결과 리스트
스위치에 해당되는 글 2건
- 2016.07.23 Swift Fall Through구문 편!
- 2016.05.06 160505 Swift 구문편! if, for, switch 까지!
// 안녕하세요~ 에르의 생각발전소입니다 :)
// 이번 시간에 다룰 주제는 switch fallthrough 편 입니다.
// 타 언어의 switch구문과 swift의 switch구문을 비교해보면 몇 가지 차이점을 확인하실수 있습니다.
// switch 구문에는 패턴이 일치하는 case블록을 싱행하는 대신, 그다음 case블록으로 실행 흐름을
// 전달하는 문법이 있습니다.
// 이를 Fall Through 라고 합니다.
// 특히 명시해주지않아도 적용이 되기 때문에 암시적인 Fall Through 라 부릅니다! (하지만 스위프트에서 지원하지않습니다.)
/*
switch 비교 대상 {
case 비교패턴1:
실행구문
case 비교패턴2:
실행구문
case 비교패턴3:
실행구문
default :
실행구문
}
저번에 다뤘던 스위치구문의 문법입니다!
비교조건은 본인의 마음에 따라 추가시킬 수 있으며, default는 모든 변수의 case를 담당합니다.
*/
let sampleChar : Character = "a"
switch sampleChar {
case "a":
case "A":
print("글자는 A입니다.")
default :
print("일치하는 글자가 없습니다.")
}
// 유감이게도 에러가 발생했습니다.
// 왜냐하면 스위프트의 스위치구문에서 case 블록은 공백이 되어선 안됩니다.
// 더군다나, 암시적인 fallthrough를 지원하지도 않기때문에 에러가 발생했네요.
// fallthrough는 실행 흐름이 전달된 비교 블록은 패턴 일치 여부에 상관없이 실행 블록을 처리합니다.
// 하지만 스위프트에는 암시적인 fallthrough 대신 명시적인 fallthrough 방법을 채택하였으며, case 블록이 비어 있어선 안됩니다.!
let sampleCharacter : Character = "a"
switch sampleChar {
case "a" :
fallthrough
case"A":
print("the character is A")
default :
print("there is no matched character. ")
}
// 결과는 case "A"가 되었습니다. 원래의 결과는 case "a"가 되어야맞지만,
// case "a" 가 실행되어야할 블록을 fallthrough를 이용하여, 다음 블록인 case "A"로 토스 해준것이죠!
//스위위프트에서 switch 구문은 하나의 ㅇ리치된 비교패턴만 실행하는 특징과 함께, 어떤 경우라도 반드시 하나의 비교패턴은 일치해야한다는 제약이 있습니다.
// 비교 대상이 비교패턴 중 어느것과도 일치하지 않아 분기문 내의 어떤 블록도 실행되지 못하는 경우에는 switch구문의 fall이라 하는데,
// 이때 switch구문은 완전한 비교 패턴을 구성하지 못한것으로 간주합니다.
이클립스 플러그인, 디펜던시,시스템 오류 시 조치법 :) (0) | 2017.09.27 |
---|---|
도서 리뷰] Learning JavaScript Feat, 한빛미디어 (0) | 2017.08.16 |
swift switch구문 편! (2) | 2016.06.01 |
Swift programming language Guard구문! :) (0) | 2016.05.27 |
160515 Swift IF문! 조건문에 대해서 :) (0) | 2016.05.15 |
안녕하세요~ 에르의 생각발전소입니다!
저번 시간에 다뤄보았던 Dictionary, Set, Array에 이어,
이번에는 코드의 생명.
연산자 파트에 속하는 구문에 대해서 살~~짝 알아보도록 하겠습니다! :)\
// if 문 = 조건의 따른 분기문임.
// if condtion { ...
// } else {
// ...
// } //
// 위와 같은 구조를 가짐.
// if 의 조건이 참이면 else 앞의 구문이 실행되고,
// 거짓일 경우 else 뒤의 구문이 실행된다.
// 전편에 사용했던 변수를 이용하여, if문을 만들어보겠습니다.
if intersect.count > 0 {
print("두개의 팀에 모두 소속돤 학생은 \(schoolTripTeam1) 입니다.")
} else {
print("두개의 팀에 모두 소속된 학생은 없습니다.")
}
// intersect의 학생수가 0보다 많으니 참이므로, else 앞의 구문이 실행됨.
// 위와 같은 조건식으로 if문을 작성하여 구동하실 수 있습니다.
// for 구문 : 범위 또는 컬렉션의 반복 구문.
/* for 값 ; 반복조건 ; 증가값 {...
} for item in collection { ...
}
*/
for studentName in schoolTripTeam1 {
print("\(schoolTripTeam1)은 팀1에 소속된 학생이 맞습니다.")
}
// for switch 구문, 다양한 변수의 경우를 집어 넣을 때 사용.
for (name, scale) in SeminaRooms {
// SeminaRomms의 스트링값을 name이 인트값을 scale이 할당받음.
let roomInformation:String
//새로운 스트링 타입 상수를 만들어 케이스를 가정하나, print를 사용해도됨.
switch scale { // scale을 스위치로 사용하겠다~
case 4:
// 스케일이 4라면!?
roomInformation = "\(name)은 작은 방이며. \(scale)명을 수용할 수 있는 규모의 방입니다."
case 5...10:
//스케일이 5~10까지라면?
roomInformation = "\(name)은 중간 규모의 방이며, \(scale)명을 수용할 수 있는 규모의 방입니다."
case 11...20:
// 스케일이 11~20까지라면?
roomInformation = "\(name)은 큰 규모의 방이며, \(scale)명을수용할 수 있는 규모의 방입니다."
case 21...30:
//스케일이 21~30까지라면?
roomInformation = "\(name)은 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."
default:
// 디폴트를 통해서 위 네가지 이외의 변수가 발생할 때
// 해당값을 실행한다! 라고 모든 변수를 충족시켜줘야만 함!
roomInformation = "\(name) 이하의 방은 없습니다."
}
}
for (name, scale) in SeminaRooms {
let roomInformation:String
switch scale {
case 4:
roomInformation = "\(name)은 작은 방이며. \(scale)명을 수용할 수 있는 규모의 방입니다."
case 5...10:
roomInformation = "\(name)은 중간 규모의 방이며, \(scale)명을 수용할 수 있는 규모의 방입니다."
case 11...20:
roomInformation = "\(name)은 큰 규모의 방이며, \(scale)명을수용할 수 있는 규모의 방입니다."
case 21...30:
roomInformation = "\(name)은 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."
default:
roomInformation = "\(name) 이하의 방은 없습니다."
}
}
// 주석을 삭제한 코드 전문입니다.!
// 도움 되셨길 바랍니다!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
---|---|
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스 (1) | 2016.04.23 |
RECENT COMMENT