본문 바로가기

Programming/Scala7

[algospot] 알고스팟 - MERCY [algospot] 알고스팟 - MERCYscala로 작성해보려 합니다. 먼저 튜토리얼을 확인해 봅니다. 스칼라의 경우에도, main() 함수가 있는 오브젝트의 이름은 항상 Main 이어야 한다. object Main { def main(args: Array[String]): Unit = { var cases = Integer.parseInt(readLine()) while (cases > 0) { println("Hello, " + readLine() + "!") cases -= 1 } } } 위의 예시코드를 확인할 수 있습니다. Scala의 새 버전(2.11.1)에서는 scala.readLine()함수 대신 scala.io.StdIn.readLine()을 사용해야 한다고 합니다. 정수를 입력 받을 때.. 2016. 1. 15.
[scala] HelloWorld [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! Timer object Timer { def oncePerSecond(cb: () => Unit) { while (true) { cb(); Thread sleep 1000 .. 2016. 1. 5.
[Scala] 용어해설 [Scala] 용어해설 책을 볼 때에 용어를 아는 것이 도움이 되고, 이후 찾아보기 쉽게 하기 위해서 책에 있는 내용을 일부 변경하여 블로그에 옮겨 적습니다. 출처 : Programming in Scala 부록B 용어해설 1급 계층 함수(first-class function)(1급 함수) 스칼라는 1급 계층 함수를 지원 함수를 (x:Int) ⇒ x + 1 같은 함수 리터럴 문법으로 표현할 수 있음 함수를 객체로 표현할 수 있음 이런 객체를 함수 값(function value)이라 함 for 내장 (for comprehension) for 표현식 JVM 자바 가상 머신 (Java Virtula Machine) 스칼라 프로그램은 JVM 위에서 실행됨 런타임(runtime) 실행 시점과는 다른 의미 실행 시점.. 2015. 12. 30.
[Scala] 섭씨 화씨 변환기 섭씨, 화씨 변환 공식은 아래와 같습니다. 섭씨 = (화씨 - 32) * 5 / 9 화씨 = 섭씨 * 9 / 5 + 32 변환을 해보면 아래와 같습니다. 왼쪽에 값을 입력한 후에 변환 버튼을 클릭하면 변환된 값이 오른쪽에 표시됩니다. 섭씨 → 화씨: 화씨 → 섭씨: scala object 파일을 생성합니다. import 구문을 추가합니다 import swing._ import event._ MainFrame 을 생성합니다. object TempConverter extends SimpleSwingApplication{ def top = new MainFrame{ ... } } 소스 package week1 import swing._ import event._ object TempConverter exten.. 2015. 12. 24.
[Scala] 스윙 어플리케이션 만들기 import scala.swing._ 를 추가합니다. package week1import scala.swing._ object FirstSwingApp extends SimpleSwingApplication { def top = new MainFrame { title = "스윙 어플리케이션" contents = new Button { text = "여기를 클릭" } }} 실행 화면 package week1import scala.swing._ object FirstSwingApp extends SimpleSwingApplication { def top = new MainFrame { title = "스윙 어플리케이션" val button = new Button { text = "여기를 클릭" } val l.. 2015. 12. 24.
[Scala] Scala Swing package not found Scala Swing package not found 다운 받은 scala IDE에서 GUI 프로그래밍을 위해서, import scala.swing._ 구문을 사용했더니 에러가 발생합니다. 참고 : http://stackoverflow.com/questions/10249139/scala-swing-package-not-found 프로젝트 라이브러리에 `org.scala-lang.modules.scala-swing_1.0.1.jar` 를 추가해 줍니다. 프로젝트 우클릭 → Build Path → Configure Build Path.. 를 선택합니다. Java Build Path 설정 창에서, Libraries 탭을 선택합니다. Add External JARs 버튼을 클릭합니다. \scala-SDK-4.3.. 2015. 12. 24.