본문 바로가기
Programming/Scala

[scala] HelloWorld

by NAMP 2016. 1. 5.

[Scala] HelloWorld

IDE

http://scala-ide.org/ 에서 Scala IDE를 다운로드 하여 실행합니다.

HelloWorld

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

코드를 작성하고 실행합니다.

IDE에서 HelloWorld 프로젝트를 생성하고, HelloWorld Object 를 생성합니다.
코드를 작성하고 Scala Application으로 실행하면 결과를 확인할 수 있습니다.

Hello, world!

gp

Timer

object Timer {
  def oncePerSecond(cb: () => Unit) {
    while (true) { cb(); Thread sleep 1000 }
  }
  def timeFlies() {
    println("time flies like an arrow...")
  }
  def main(args: Array[String]) {
    oncePerSecond(timeFlies)
  }
}

코드를 작성하고 실행합니다. 기존 프로젝트에, Timer Object 만 추가하고 작성해도 됩니다.

time flies like an arrow...
time flies like an arrow...
time flies like an arrow...

1초 마다 해당 문구열이 출력되는 것을 확인할 수 있습니다.

main 함수에서, timeFiles 함수를 파라미터로 oncePerSecond를 호출합니다. oncePerSecond 함수에서는 파라미터로 전달받은 timeFiles함수를 cb 객체에 담습니다.
while문 진입이후에는 cb 함수를 호출하고, 1초간 슬립을 하는 무한 루프를 돌게 됩니다. cb 함수 호출시에, println("time flies like an arrow...") 해당 문이 동작하게 되어, 같은 물자열이 계속 출력되게 됩니다.

참고

'Programming > Scala' 카테고리의 다른 글

[algospot] 알고스팟 - MERCY  (0) 2016.01.15
[Scala] 용어해설  (0) 2015.12.30
[Scala] 섭씨 화씨 변환기  (0) 2015.12.24
[Scala] 스윙 어플리케이션 만들기  (0) 2015.12.24
[Scala] Scala Swing package not found  (0) 2015.12.24

댓글