yield from – 다른 제너레이터에게 작업을 위임하기

제너레이터 내부에서 yield 가 쓰일 때, .send() 통해서 내부로 전달된 값으로 평가될 수 있다고 하였다. 만약, 해당 제너레이터/코루틴이 매 입력을 직접 처리하지 않고 다른 제너레이터에게 일부 작업을 위임할 필요가 있다면 yield from 이라는 새로운 문법을 사용할 수 있다. 이 문법을 사용할 경우 다음과 같이 처리된다. yield from sub_generator()의 형태로 쓰인다. 부모 제너레이터의 send(x) 가 호출되면

Python – 데이터를 입력받는 방법에 대해

데이터를 입력받는 것에 대하여 컴퓨터 프로그램은 함수와 같다. 프로그램은 입력장치로부터 데이터를 읽어들이고, 이 소스데이터를 가공하여 결과를 만들고, 이를 출력한다. 따라서 프로그램의 외부에서 그것이 실행되는 과정을 보는 것은 일종의 쥬스메이커와 같다고 볼 수 있다. 과일(입력될 데이터)을 투입구에 밀어넣고 동작 버튼을 누르면 기계속으로 들어간 과일이 잘리고 눌려서 과즙이 되고, 그것이 노즐을 통해서 퐁퐁 흘러나와 컵에 담기는 것과

LiveScript 살펴보기 – 04 제어문

이번 글에서는 LS의 기본적인 제어 구문인 반복문과 분기문을 작성하는 방법에 대해서 살펴볼 예정이다. LS의 특징인 “거의 모든 것은 표현식이다”라는 점에서 for/while 문 자체도 하나의 표현식으로 최종 표현식의 결과를 모은 리스트로 평가될 수 있다는 점을 놓치지 말자.

LiveScript 살펴보기 – 03 함수

LS에서 함수는 일반 문법 편에서 잠깐 언급했듯이 화살표를 써서 간단히 정의할 수 있다. 이 함수 표현에서 중요한 점 두 가지는 첫 째 우변은 하나 이상의 표현식이라는 점과 표현식이 순서대로 나열되는 경우 맨 마지막 표현식의 결과가 자동으로 리턴된다는 것이다. 함수 LS는 함수형 프로그래밍 언어의 스타일을 많이 도입했다고 하였다. 비록 LS가 진짜 순수한 함수형 언어는 아니지만, 함수형

LiveScript 살펴보기 – 02 연산자

이번 글에서는 LiveScript의 연산자에 대해서 살펴보겠다. 함수형 언어 스타일을 도입하면서 코드가 간결해지는 대신에 기본적인 사칙/비교 연산외의 여러 연산자들이 많이 사용된다. 연산자 기본적인 연산자는 JS와 동일하다. 단 모듈로 연산자가 추가되었다 (%%) -3 % 4 : -3 -3 %% 4 : 1 제곱연산자는 오른쪽 연관이며, 다른 단항 연산자보다 높은 우선순위를 가진다. ^ 와 ** 를 같이 쓸