Skip to content
ik edited this page Aug 8, 2016 · 12 revisions

#2.8 리터럴 값

###2.8.1 정수 리터럴

  • 10진수, 16진수, 8진수
  • Long, Int, Short, Char, Byte
  • Long은 L 또는 l 필요
  • 리터럴의 범위를 넘어서면 컴파일 시 오류 발생

###2.8.2 부동소수 리터럴

  • Float(32bit 단정도 2진 부동소수점)
  • Double(64bit 배정도 2진 부동소수점)
  • 스칼라 2.10 이전에는 소수점 뒤에 숫자가 없는 부동소수점 리터럴(3., 3.e5)이 있었으나 애매한 경우가 있어서 2.11부터 허용 안됨

###2.8.3 불린 리터럴

  • true, false

###2.8.4 문자 리터럴

  • 인쇄 가능한 유니코드 문자나 이스케이프 시퀀스

2.8.5 문자열 리터럴

  • "" : 기본 문자열
  • """...""" : 멀티라인 문자열 (이스케이프 시퀀스를 해석 하지 않는다.)
  • stripMargin(| 대신 사용하고 싶은 Char) : 형식화를 위해 위치를 맞춘 경우 공백 컨트롤
  • stripPrefix(접두사)
  • stripSuffix(접미사)

###2.8.6 심벌 리터럴

  • 동일 심벌은 하나의 객체를 참조한다.
  • 'id == scala.Symbol("id")
  • 공백을 포함하는 심벌 생성 방법 : Symbol(" Scala Study Fighting ")

###2.8.7 함수 리터럴

  • (Int, String) => String = (i, s) => s+i
  • Function2[Int, String, String]

###2.8.8 튜플 리터럴

  • N개의 원소를 묶어주는 TupleN 클래스
  • 사용 예: n개의 값을 리턴하고 싶은 경우 사용 가능
  • 다른 언어에서 n개의 값 리턴 방법 : 1. 매개변수 2. 입력매개변수, 출력매개변수 3. 리턴클래스
  • TupleN은 현재 1~22 까지 가능하나 한계는 추후에 없어질 수 있다.
  • val tup = ("Scala", 2016) 처럼 사용 가능 하고 튜플은 변경 불가능한 1급 계층 값( 변수에 저장, 파라미터, 리턴값 )
val t = ("Hello", 1, 2.3) //Tuple3[String, Int, Float]
println(t)
println(t._1) // 1부터 시작
val (t1, t2, t3) = ("World", '!', 0x22)
val (t4, t5, t6) = Tuple3("World", '!', 0x22)

*원소가 둘인 튜플을 선언하는 여러가지 방법

(1, "one")
1 -> "one"
Tuple2(1, "one")

Q 2.8.7 Function2[...]

Clone this wiki locally