컴공지식/프로그래밍언어론
-
스칼라에서 함수 정의하는 방법컴공지식/프로그래밍언어론 2024. 8. 31. 21:56
다음 예시를 통해 알아보자def add(x: Int, y: Int): Int = { x + y} def: 이건 함수 정의를 시작하는 키워드이다.여기서 add는 함수의 이름이다. 매개변수 목록: 소괄호 안에 함수가 받아들일 매개변수들을 정의한다.x와 y는 정수형(Int) 변수라는 뜻이다. 그 다음 나오는 Int는 함수의 반환 타입이다. = 기호: 함수의 본문이 시작된다는 표시다. 중괄호 {}: 함수의 본문을 감싸는 거다.이 예제에선 x + y를 더하는 기능을 하고 있다. 하지만 다음과 같이 작성할 수도 있다.def areaOfSquare(a: Int) = a * a이 코드는 정사각형의 넓이를 구하는 함수이다.근데 return 타입이 보이지 않는다.스칼라의 매력 중 하나가 바로 이거다.스칼라에서는 함수..
-
인터프리터와 컴파일러의 차이컴공지식/프로그래밍언어론 2024. 8. 31. 17:21
인터프리터는 프로그램의 소스 코드를 한 줄씩 읽고, 이를 즉시 실행하여 결과를 출력한다.프로그램 전체를 한 번에 번역하는 대신, 한 줄씩 해석하면서 실행하기 때문에 실행 속도가 느릴 수 있지만, 코드 작성 후 빠르게 테스트할 수 있다는 장점이 있다. 예시bash: 셸 스크립트를 실행할 때 사용되는 인터프리터python: 파이썬 언어로 작성된 코드를 한 줄씩 실행scala: Scala도 인터프리터 방식으로 실행할 수 있다. Search engine (Google, Naver,...): 검색 엔진도 일종의 인터프리터로 볼 수 있는데, 사용자가 입력한 검색어를 해석하고 이에 맞는 결과를 즉시 반환하기 때문이다. 이 부분은 약간의 비유적인 표현이다. 컴파일러는 프로그램의 소스 코드를 한 번에 읽어들여, 이를 기..