2012-09-08 49 views
2

我想在Scala程序中使用斷言。爲了提高性能,應該關閉程序的最終版本的斷言。如何在Eclipse中禁用Scala斷言?

似乎有是兩個Scala編譯器標誌啓用此(第一個需要一個額外的優先級):

-Xelide-below 
-Xdisable-assertions 

然而,激活那些在Scala編譯器性能 Eclipse中我的斯卡拉項目沒有效果:斷言仍然執行。

我測試用的小程序:

object Test { 
    def main(args: Array[String]): Unit = { 
    assert(false) 
    } 
} 

我確信代碼重新編譯;我測試了以下-Xelide的不同(非常高)優先級。我在Windows 7機器上使用了Eclipse Juno(4.2.0)和Scala Plugi-In 2.1.0.nightly-2_09-201209040315-cc63a95以及Scala 2.9.1-1。

回答

3

要禁用聲明,您應該使用Scala Compiler > Advanced > Xdisable-assertions

另一種方法來禁用這些是選項-Xdisable-assertions傳遞給Scala Compiler > Additional command line parameters

+0

謝謝,它的工作原理! 我只在項目設置中嘗試過完全相同的東西,但它沒有效果。如果我按照提議在全局設置中更改它,它就會起作用。非常有趣,也許是一個錯誤? – fbeck

+0

@fbeck:是的,它似乎是一個錯誤。我在[這裏]彙報了它(https://www.assembla.com/spaces/scala-ide/tickets/1001241)。 – sschaef

+0

使用Java中的JVM參數可以達到同樣的效果嗎? – pedrofurla