2011-10-04 2 views
3

, 나는 다음과 같이 가격을 나타내는 생각 해요 : 나를

val price = Price(4.52) 

을 수행 할 수 있습니다

case class Price(amount: Double) 

을 다음과 같이 나에게 가격 객체를 생성 할 수 있도록하는 어떤 메커니즘이 ?

val price = $4.52 
+1

이것은 무엇입니까? –

+6

참고 : 돈을 위해 부동 소수점 값을 사용하지 마십시오. –

+0

왜 이것을하고 싶습니까? –

답변

8

없음 $4 유효한 식별자와 .이 방법을 의미하기 때문이다.

당신이

val $ = Price 

는 가격 컴패니언 오브젝트와 동일한 $을 설정하고 두 번 parenthetize을 말할 수 그러나 :

scala> val p = $(4.52) 
p: Price = Price(4.52) 

편집을 : 당신이 할 수있는 또 다른 한가지는 다음과 같습니다

scala> implicit def toDollar(d: Double) = new { 
    | def $ = Price(d) 
    | } 
toDollar: (d: Double)java.lang.Object{def $: Price} 

scala> val p = 4.52 $ 
p: Price = Price(4.52) 
관련 문제