2012-06-13 37 views
0

我已經成功地將scalaz Scala的REPL(2.9.1),並嘗試了一些基本的例子,沒有問題,如: List(10, 20, 30) <*> (List(1, 2, 3) map ((_: Int) * (_: Int)).curried)Scalaz和REPL

List(10, 20, 30) |@| List(1, 2, 3) apply (_ * _)

然而,在地圖的別名,即°,如在本示例 http://scalaz.github.com/scalaz/scalaz-2.9.1-6.0.4/doc.sxr/scalaz/example/ExampleApplicative.scala.html#23569

看到未被識別,我有一個

error: value ° is not a member of List[Int]

也許我正在使用錯誤的字符?從上面的示例複製粘貼gobble的特殊字符...

任何指導將不勝感激! :)

回答

4

是的,你的確在使用錯誤的字符。它是而不是°

scala> val f: Int => String = _.toString 
f: Int => String = <function1> 

scala> List(1,2) ∘ f 
res2: List[String] = List(1, 2) 

編輯:你的編碼在終端和Java設置爲UTF8?

+0

Haem,好吧我懷疑......但是我該如何在我的鍵盤上輸入∘:) –

+0

我想你必須安裝一個unicode密鑰映射才能這樣做。我不知道另一種插入unicode字符而不粘貼它們的方法;-) – drexin

+0

@M'λ'如果你使用的是emacs,我有一個小模式,你可以用它來達到這個目的:https:// github的.com/folone/emacs的-scalaz-Unicode的輸入方法 – folone