본문 바로가기

getline

기본적인 입출력과 모나드 대부분의 프로그래밍 언어는 입출력에 관련한 '함수'를 제공한다. 그리고 이런 함수들은 기본 중의 기본으로 취급되면서 '있는 그대로 쓰면 되는 것'으로 취급된다. 예를 들어 파이썬의 경우에 입출력함수는 input(), print()가 있다. 특히 input()과 같이 표준 입력을 받아오는 함수의 경우, 함수를 평가한 결과가 키보드등으로 입력된 문자열 값이 된다. 물론 하스켈의 경우에도 입출력 함수가 있다.(그것도 여러개) 하지만 다른 언어에서 가장 기본중의 기본이 되는 입출력이 하스켈에서는 그리 간단한 일이 아니다. 그것은 하스켈이 순수 함수형 언어라는 디자인 특성을 가지고 있기 때문인데, 따라서 입출력 자체는 어렵지 않은 일이나, 그것을 다루는 방법이 제법 까다롭다. 입출력을 담당하는 기본 함수 하스켈은.. 더보기
데이터를 입력받는 방법 - 1 이번 시간에는 기본 입출력 액션에 대해서 살펴보자. 컴퓨터 프로그램이 하는 일을 일반화해보면 주어진 자료를 처리하여 그 결과를 내놓는 것이다. 여기서 "자료가 주어진다"는 것은 소스코드에 정적으로 포함된 데이터만 처리하는 것이 아니라 (물론 이렇게 동작하는 프로그램도 많다. 초보들이 연습용으로 작성하는 코드들 대부분이 여기에 속한다.) 외부로 부터 데이터를 입력받을 수 있다는 것이다. 외부로부터의 데이터 입력이란 키보드로부터 문자열을 입력 받거나, 텍스트 파일을 읽어들이거나, 혹은 외부 네트워크에 요청하여 데이터를 받아올 수도 있다는 의미이다. 대응해야 하는 케이스가 엄청 많은 것 같지만, 이로부터 유발되는 혼란을 피하기 위해서 우리의 선조(?) 아키텍트들은 프로그램이 외부와 소통하는 창구를 표준화하였다.. 더보기