[Swift] Swift Standard Library – Ranges

Numbers and Basic Values

Apple 문서를 참고로 했으며 내가 알지 못하는 모르는 부분에 대해 정리한다.

Ranges
struct Range : A half-open interval over a comparable type, from a lower bound up to, but not including, an upper bound.

struct ClosedRange : An interval over a comparable type, from a lower bound up to, and including, an upper bound.

한국말로 하면 개구간 , 폐구간이다. 한국말 정말 어렵다.

하지만 그림으로 본다면?

스크린샷 2017-10-09 오전 4.58.57

스크린샷 2017-10-09 오전 5.01.26.png

단번에 이해함.
(사실 이미 알고 있는 개념인데 영어로 받아들이는게 아직도 벽이 있다)

스크린샷 2017-10-09 오전 5.04.37.png

무다 무다!

Range

Operator~=(_:_:)

  • Returns a Boolean value indicating whether a value is included in a range.
static func ~=(pattern: Range, value: Bound) -> Bool

코드로 하면 contains와 동일한 기능을 하는 편리한 opeator.

let chosenNumber = 3
if 0..<10 ~= chosenNumber {
print("\(chosenNumber) is a single digit.")
}
// Prints "3 is a single digit."
if (0..<10).contains(chosenNumber) {
print("\(chosenNumber) is a single digit.")
}
// Prints "3 is a single digit."

clamp 영어 의미를 알아야 이해가 쉽다.

(1...7).clamped(to: 3...10)
// 3...7

References

 

Advertisements

[생각의 정리] 영어 공부를 시작하며

최근 remote job이 점점 늘어나고 있다.
경쟁력을 갖추기 위해서 영어는 필수가 되어간다.

한국에서 영어 공부를 효과적으로 하기 위해 몇가지를 추려본다.

  1. 내가 자주 사용하는 말을 영어로 표현
    ex) 내가 보낸 메일을 영어로 다시 표현 (실전)
  2. 듣고 받아쓰기 연습 (환경)
  3. 하루 1시간 (습관)
  4. 적절한 피드백을 받을 수 있는 코치가 필요하다. (피드백)

기초  -> 영어 자주 접하는 환경에 노출 -> 영어 위주로 사용하는 환경으로 변화

  • References

http://www.huffingtonpost.kr/minsik-kim/story_b_9095802.html

 

[java] java 1.7 concurrent package

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-frame.html

Executor

An object that executes submitted Runnable tasks. You can customize the tactic which handle Runnable Object how to execute and manage execution order.

ExecutorService (More useful)

An Executor that provides methods to manage termination and methods that can produce a Future for tracking progress of one or more asynchronous tasks.

  • invokeAll
  • invokeAny
  • shutdown
  • submit

Callable (Overcome runnable)

A task that returns a result and may throw an exception. Implementors define a single method with no arguments called call.

Future

A Future represents the result of an asynchronous computation.