본문 바로가기
반응형

스칼라3

스칼라(Scala) 핵심 고차 함수 - map, flatten, flatmap map 메서드map 함수는 객체 컬렉션과 해당 객체에 정의된 함수 f를 사용하고, 컬렉션의 n번째 객체가 f에 의해 변환된 객체인 새로운 컬렉션을 반환한다. def square(n: Int): Int = n * nList(1, 2, 3, 4, 5).map(square) 그러면 컬렉션이 반환된다.List(1, 4, 9, 16, 25) 다음은 숫자 리스트를 가져와 각각의 제곱한 다음 제곱한 수를 모두 더하는 함수다. 표현식이 얼마나 간결한지 확인해 보자.def squreAndSum(lst: List[Int]): Int = list.map(square).sum 간단한 타입이 아닌 리스트가 있다면 어떻게 해야 할까? 예를 들어 Option을 확인하면 다음과 같다.def getUser(userName: Strin.. 2024. 7. 24.
스칼라(Scala) 리스트에 대해서 알아보자 스칼라(Scala) 리스트스칼라에서는 다음과 같이 List라는 키워드를 사용하여 리스트를 정의할 수 있다. > val a = List(1, 2, 3)a: List[Int] = List(1, 2, 3) 출력을 해보면 List[Int] 라고 출력되어 Int로 구성된 리스트가 만들어진 것을 알 수 있다. 또한, 다음과 같이 여러 종류의 타입으로 구성된 리스트를 만드는 것도 가능하다. > val b = List(1, "2", 3.0)b: List[Any] = List(1, 2, 3.0) 참고로,  Any는 모든 스칼라 타입의 부모이기 때문에 Any 타입의 변수에는 모든 타입의 값을 담는 것이 가능하다. > val a:Any = 1> val a:Any = "1"> val a:Any = 2.0> val a:Any .. 2024. 7. 23.
스칼라(Scala) 기본 문법에 대해서 알아보자 스칼라(Scala)스칼라(Scala)는 2004년 마틴 오더스키(Martin Odersky)에 의해 만들어진 JVM 위에서 돌아가는 또 다른 함수형 언어이다.클로저와 마찬가지로 모든 자바 라이브러리를 사용할 수 있으며, 객체지향과 함수형 패러다임이 절묘하게 결합되어서 주목받고 있다. 함수형 언어의 측면에서 봤을 때는 하스켈과 비슷한 느낌이 나며, 객체 지향의 측면에서는 자바의 냄새가 물씬 풍긴다. 따라서 자바에 익숙한 개발자들이 함수형 언어에 입문하기에 최적이자, 여러분이 실무에서 접할 가능성이 가장 높은 언어이기도 하다. 변수 val와 varval는 변경 불가(Immutable)한 변수를 만들 때 사용var은 변경 가능(Mutable)한 변수를 만들 때 사용val x = 1x = 2error: reas.. 2024. 7. 22.