2011-10-04 74 views
3

此刻,我想代表如下價格:

case class Price(amount: Double) 

,讓我做

val price = Price(4.52) 

是否有這將讓我如下創建一個價格目標的任何機制?

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)