Programming in Sala 책으로 스칼라 스터디하면서 정리했던 내용이다. 지금은 3판 번역본도 나왔지만, 약간 앞서서 스터디를 시작해서 2판으로 진행하고 있다.
2장
인터프리터 사용법
- 대화형 셸
$ scala
res번호
식별자는 변수 처럼 사용 가능 ex>res0 * 3
println("Hello, world!")
변수 정의
val
: 재할당 불가능var
: 재할당 가능- 타입 추론으로 타입을 지정하지 않아도 됨
val msg = "Hello"
val msg2: java.lang.String = "Hello"
val msg3: String = "Hello"
var msg4 = "Hello"
msg4 = "World"
함수 정의
def max(x: Int, y: Int): Int = {
if (x < y) x
else y
}
def
: 함수 정의 시작max
: 함수 이름(x: Int, y: Int)
: 인자 항목Int
: 함수 결과 타입=
: 등호{ }
: 함수 본문
Unit
결과 타입은 함수가 의미있는 결과를 반환하지 않는다는 의미
스칼라 스크립트
- 실행 방법 예
$ scala hello.scala
- 명령행 인자 접근 :
args
args(0), args(1), ...
반복 / 분기
- while
while (i < args.length)
- if
if (i != 0) print(" ")
- foreach
args.foreach(arg => println(arg))
args.foreach(println)
- for
for (arg <- args) println(arg)
함수 리터럴
(x: Int, y: Int) => x + y
(x: Int, y: Int)
: 인자 항목=>
: 오른쪽 화살표x + y
: 함수 본문
함수 리터럴이 인자를 하나만 받는 문장인 경우에는 해당 인자에 이름을 붙일 필요가 없다 (8.6절)
'Developing' 카테고리의 다른 글
Programming in Scala 스터디 정리 - 3장. 스칼라 두 번째 걸음 (0) | 2017.06.08 |
---|---|
Programming in Scala 스터디 정리 - 1장. 확장 가능한 언어 (0) | 2017.06.06 |
PHP에서의 UTF-8 지원 (0) | 2015.06.08 |