lambda스칼라에서의 lambda 식은 다음과 같다. ( x : Int ) => Int 이것은 Int 형을 받아서 String 을 리턴하는 함수에 대한 람다식이다. object lambdaTest extends App { def test = (x:Int) => x + 1 log (test(3).toString()) }위의 test 메소드는 다음과 같다.def test (x: Int):Int = { x + 1 } 다음 코드를 살펴보자. 함수의 매개변수로 람다식이 사용되었다. object lambdaTest extends App { def test (f: Int => String) { log(f(3)) } def logging (x: Int ):String = { x.toString() } test(log..
1. Future 2. Promise 3. Awiat 4. async 5. Observable 6. 병렬 Future 스칼라에서의 Future 는 꽤 다양한 방식으로 사용 할 수있는데 먼저 스칼라에서의 Future 모양을 살펴보자.trait Future[T] : 퓨쳐값을 나타낸다. T 타입의 실제 우리가 리턴받기 원하는 객체를 포함한다. def apply[T](b: =>T) (implicit e: ExecutionContext) : Future[T] : 퓨처 계산을 나타낸다. 실제 계산을 수행하는 함수를 매개변수로 넣어주고 있다.: 암시적으로 ExecutionContext 가 매개변수로 들어간다. 즉 쓰레드풀을 넣어주는것. 퓨쳐값 과 퓨쳐계산을 잘 구분해서 기억해두자.1) 퓨쳐 실행 object Futu..
스칼라에서의 가변인자 1. 간단 예제 object test { def func[T](xs:T*) = xs.foreach(x => println(x)) def main(arg : Array[String]): Unit ={ func(0,1,2) } }(xs : T*) 처럼 타입뒤에 * 를 붙혀주면 됩니다. 2. 컬렉션은 _* 를 붙여줍니다.object test { def sum(xs:Int*):Int = if (xs.isEmpty) 0 else xs.head + sum(xs.tail:_*) def main(arg : Array[String]): Unit ={ println(sum(0,1,2,3)) // OK ! val ns = List(1, 3, 5) println(sum(ns:_*)) // OK! prin..
타입 기초 https://twitter.github.io/scala_school/ko/type-basics.html 타입별칭(Type alias)https://alvinalexander.com/scala/scala-type-aliases-syntax-examples 추상 타입 http://docs.scala-lang.org/ko/tutorials/tour/abstract-types.html 매개변수된 타입 (제너릭)http://docs.scala-lang.org/ko/tutorials/tour/generic-classes.html 상위 타입 경계http://docs.scala-lang.org/ko/tutorials/tour/upper-type-bounds 하위 타입 경계http://docs.scala-l..
스칼라에서 사용되는 심볼들 http://stackoverflow.com/questions/7888944/what-do-all-of-scalas-symbolic-operators-mean 나는 교육을 위한 목적으로 4개의 카테고리로 연산자들을 나눕니다.Keywords/reserved symbolsAutomatically imported methodsCommon methodsSyntactic sugars/composition다행히도 대부분의 범주는 다음과 같은 질문에서 나타납니다:-> // Automatically imported method ||= // Syntactic sugar ++= // Syntactic sugar/composition or common method
Type projection 개요:타입 안의 (nested) 타입 멤버를 레퍼런싱 하기 위한 문법이다. T#x 라고 지칭하며, 타입 T 안의 x 라는 이름의 타입 멤버를 나타낸다. 예제: 아래에 보면 클래스 내부에 또 하나의 클래스 (nested class) 가 있는 것을 볼 수 있다.class A { class B def f(b: B) = println("Got my B!") } 아래와 같이 시도해보면 scala> val a1 = new A a1: A = A@2fa8ecf4 scala> val a2 = new A a2: A = A@4bed4c8 scala> a2.f(new a1.B) :11: error: type mismatch; found : a1.B required: a2.B a2.f(new a1...
스칼라에서의 for - comprehensions 1. 개념 스칼라 Doc 에서는 이렇게 말합니다. (http://docs.scala-lang.org/tutorials/FAQ/yield.html)파이썬,루비등에 있는 yield 처럼 스칼라도 yield 를 가지고 있지만 좀 다릅니다. 스칼라의 yield 는 for comprehensions 의 일부분으로 사용되며, 다른 언어의 list-comprehensions 의 일반화 입니다. 스칼라의 "for comprehensions" 는 하스켈의 "do" 와 동등하며 멀티플모나딕 연산을 위한 사용편의 정도일 뿐입니다. 사실 for - comprehensions 같은것들은 syntactic sugar 라고 합니다. 번역하면 사용자가 편하게 사용하기 위한 사탕발림 ..
* 참고로 커링이 무엇인가요에 대한 대답은 너무 쉽다. 하지만 왜 커링이 그렇게 유용하나요? 에 대한 대답은 아직 못얻었다. 뇌 로는 알겠지만 체득하지 못한 상태. 스칼라를 함수형 파라다임으로 사용을 많이 해봐야 알게 되지 않을까.. 스칼라에서의 커링 (currying) 1. 개념 스칼라 Doc 에서는 이렇게 말합니다. (http://docs.scala-lang.org/ko/tutorials/tour/currying)메소드에는 파라미터 목록을 여럿 정의할 수 있다. 파라미터 목록의 수 보다 적은 파라미터로 메소드가 호출되면, 해당 함수는 누락된 파라미터 목록을 인수로 받는 새로운 함수를 만든다.중요한 포인트를 뽑아내어 쉽게 설명해보면 매우 쉬운 설명 - 메소드라는건 파라미터를 가지고 있지요? 예를들어 a..
- Total
- Today
- Yesterday
- play2 강좌
- 블록체인
- Golang
- akka 강좌
- 안드로이드 웹뷰
- Play2 로 웹 개발
- Play2
- Adapter 패턴
- 하이퍼레저 패브릭
- 스칼라
- play 강좌
- 엔터프라이즈 블록체인
- 주키퍼
- 스칼라 동시성
- hyperledger fabric
- 파이썬 머신러닝
- 파이썬 동시성
- 플레이프레임워크
- 그라파나
- 파이썬 강좌
- 파이썬 데이터분석
- Actor
- 하이브리드앱
- 스위프트
- Hyperledger fabric gossip protocol
- 스칼라 강좌
- Akka
- 파이썬
- 이더리움
- CORDA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |