Programming in Sala 책으로 스칼라 스터디하면서 정리했던 내용이다. 지금은 3판 번역본도 나왔지만, 약간 앞서서 스터디를 시작해서 2판으로 진행하고 있다.
2장
인터프리터 사용법
- 대화형 셸
$ scala res번호식별자는 변수 처럼 사용 가능 ex>res0 * 3println("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 - 명령행 인자 접근 :
argsargs(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 |