본문 바로가기

Scala

scala - macro keyword scala - macro keyword macro keyword? compile time에 코드를 만들어주는 기능이다. (compile-time metaprogramming) Simple example add() 함수 선언과 정의 object MacroDemo { def add[T](num1: Int, num2: Int): Int = macro add_impl def add_impl(c: blackbox.Context)(num1: c.Expr[Int], num2: c.Expr[Int]): c.Expr[Int] = { import c.universe.reify reify { num1.splice + num2.splice } } } 사용 object MacroTestMain { def main(args: A.. 더보기
scala - 소개와 intellij 로 환경 설정 chapter 1. 스칼라 소개 scala? 공식 홈페이지 객체지향 프로그래밍과 함수형 프로그래밍이 결합된 높은 수준의 언어다. 정적 타입은 복잡한 앱에서의 버그를 피하게 도와주고, JVM 과 JS 런타임은 높은 성능을 가진 시스템을 쉽게 접근할 수 있게 해준다. 1.1 왜 스칼라인가? JVM과 JS JVM에서 제공하는 라이브러리를 계승할 수 있다는 장점이 있다. scala.js 도 실험 프로젝트로 진행 중이다. 정적타입 정적 타입 지정이 필요하지만 타입 추론을 이용하여 타입 표기를 생략할 수 있게 한다. 다중 패러다임 - 객체지향 + 함수형 프로그래밍 복잡한 타입 시스템 타입 추론을 사용하여 동적 타입 언어 수준으로 간결하게 할 수 있다. 간결하고 우아하며 유연한 문법 규모 확장성 trait를 사용한 .. 더보기
scala study 시작 책을 훑어보기로 했다. 빠르면 2달, 꼼꼼하게 보면 3달까지! 더보기