顯示具有 scala 標籤的文章。 顯示所有文章
顯示具有 scala 標籤的文章。 顯示所有文章

Intellij IDEA color scheme 資源整理

最近常使用 Intellij IDEA IDE 來寫 Java 和 Scala 的程式,整理一些我覺得好看的配色主題如下︰

新的 Scala Eclipse Plugin 真好用

因為之前提到的 Scala NetBeans Plugin 執行的問題(可能後來好了,如果有朋友試成功了麻煩請告訴我),所以後來還是搭配 Eclipse 搭配 Scala 官方的 Eclipse Plugin 進行開發。

結果今天逛到 Screencast: Introduction to the Scala Developer Tools,才知道原來新的 SDT 已經在開發中了,詳情可以到 Scala Wiki 中 tools:eclipse 頁 看看。再跟著 screencast 中的 demo 試一下,覺得實在是非常好用啊!速度和各項功能都增加不少,非常推薦有興趣的朋友使用啊!

在這邊記錄一下有用的技巧︰

  • alt + / : 程式碼提示
  • ctrl + 滑鼠點按 class: 跳至該 class 的定義檔

NetBeans 6.1 下的 scala plugin 爛掉了……

最近更新的版本(20070325 nightly build),都無法正常使用,所以只好又跳回 Eclipse 下,搭配 scala 官方提供的 Eclipse plugin 來寫。

也沒辦法,NetBeans 6.1 跟它的 scala plugin 都還在開發中,只好再看看過幾天會不會修復囉!

Scala 為 Map collection 增加 "->" 語法糖衣 (syntactic sugar) 的作法

最近在閱讀 Programming in Scala 這本書,書中在第十九章時,提到當我們在建立 Map 時常使用的語法︰

Map(1->"one",2->"two",3->"three")

當中的 -> 並不是內建在 scala 語言本身,而是透過一些機制所建立的語法糖衣。於是好奇就去 trace 了一下 collection/mutable/Map.scala 檔,看看這個糖衣本身是怎麼被實作出來的。後來發現其實並不難,實作方式可以參考下列的 code:

object MyMap {
    def apply() = new MyMap[String, String]();
}

class MyMap[A, B] {
    def +=(key: A): MapTo = new MapTo(key);
    
    class MapTo(key: A) {
        def -> (value: B) { 
            println("key:\t" + key);
   println("value:\t" + value);
        }
    }
}

使用方式︰

val myMap = MyMap();
myMap += "one" -> "1"

NetBeans 下的 Scala 語言 Plugin

最近發現了 ErlyBird 這個 NetBeans 下的 Scala Plugin,專案首頁在這邊。另外也可以到此 Plugin 作者的 Blog 看看,會得到更多相關的資訊。