고락윤
-
[스칼라 문법편] CH08 함수 컴비네이터24년 11월 이전/레거시-누구나 쉽게 스칼라+플레이 2019. 1. 30. 22:13
* 이 포스팅은 책 "누구나 쉽게 스칼라 + 플레이 - 고락윤 한빛 미디어"를 읽고 정리한 것입니다. CH08 함수 컴비네이터 이번 장에서 배울 함수 컴비네이터는 Java8의 Stream API와 유사합니다. 스칼라의 컬렉션은 대부분 함수 컴비네이터를 제공하여, 컬렉션을 가공 및 조작을 보다 쉽게 해줍니다. 지금부터 배워봅시다. 01. map 먼저 컬렉션 요소마다 변경하고 싶을 경우 map을 사용하면 됩니다. 다음 코드를 살펴보도록 하죠. //main val l = List(1, 2, 3, 4, 5) val n = l.map( i => i * i ) val m = l.map( i => s"ITEM ${i} ") println(n) println(m) n은 원본 l의 각 요소마다 자신을 곱한 요소를 갖는 ..
-
[스칼라 문법편] CH03 조건문과 반복문24년 11월 이전/레거시-누구나 쉽게 스칼라+플레이 2019. 1. 29. 22:05
* 이 포스팅은 책 "누구나 쉽게 스칼라 + 플레이 - 고락윤 한빛미디어" 를 읽고 정리한 것입니다. CH03 조건문과 반복문01. 조건식 if/else 스칼라의 조건문은 기존 프로그래밍 언어와 동일하게 3단 구조, if ~ else if ~ else 구조입니다. 기본적인 형태는 다음과 같습니다. val x = 15 if (x > 15){ println("x is bigger than 15") } else if (x 15) "bigger" else if "smaller" else "equal" println(s"x is ${res} compared ${x}") res는 15의 조건에 따라 문자열을 나타내는 값이 되없습니다. 이는 스칼라에서는 if/else 등이 평문이 아닌 값으로 평가된다는 것을 의미합니..
-
[스칼라 문법편] CH02 변수 다루기24년 11월 이전/레거시-누구나 쉽게 스칼라+플레이 2019. 1. 28. 22:16
* 이 포스팅은 책 "누구나 쉽게 스칼라+플레이 - 고락윤 한빛 미디어"를 읽고 필자가 정리한 것입니다. CH02 변수 다루기01. 변수 선언 "컴파일러야 3 보이지? 알아서 맞는 자료형 주고 알아서 메모리 공간 확보해놔. 알아서 해!" 이전 장에서 간략하게 살펴봤던 것처럼 보통 기존의 C, Java 등의 프로그래밍 언어는 자료형을 선언한 후에, 변수 명을 선언해주었습니다. 이렇게 말이죠. int a = 5; final String b = "바뀔 수 없어요."; 스칼라에서는 이렇게 바꿀 수 있습니다. 참고적으로 var 는 바뀔 수 있는 변수를 선언하는 것이고, val은 final 자료형 처럼 바뀔 수 없는 변수를 선언하는 것입니다. var a: Int = 5; val b: String = "바뀔 수 없어..
-
[스칼라 문법편] CH01 스칼라 준비하기24년 11월 이전/레거시-누구나 쉽게 스칼라+플레이 2019. 1. 28. 22:12
* 이 포스팅은 책 "누구나 쉽게 스칼라+플레이 - 고락윤 한빛 미디어"를 읽고 정리한 것입니다. CH01 스칼라 준비하기01. 스칼라에 대해서... 스칼라의 특징은 다음과 같습니다. 코드의 직관성과 신축성이 뛰어나다.스칼라는 기존 자바(여기서 기존 자바는 자바8 이전을 뜻합니다.)와 비교하여, 짧으면서 직관적인 코드 작성을 할 수 있습니다. 예를 들어서, 다음과 같이 사람을 나타내는 Person 클래스가 있다고 가정해봅시다. class Person{ String name; int age; public Person(String name, int age){ this.name = name; this.age = age; } public String getName(){ return name; } public i..