我正在阅读有关使用带有scala的Junit的指南site 在我在此消息末尾复制粘贴的代码行中有一些我不理解的代码行。
代码行是:
var pizza: Pizza = _
我知道占位符用于模式匹配,以说“如果它是其他任何东西”。但我不明白这听起来是什么意思。
有人可以解释一下吗?
package com.acme.pizza
import org.junit.Test
import junit.framework.TestCase
import org.junit.Assert._
class PizzaTests extends TestCase {
var pizza: Pizza = _
override def setUp {
pizza = new Pizza
}
def testOneTopping {
pizza.addTopping(Topping("green olives"))
assertEquals(pizza.getToppings.size, 1)
}
def testAddingAndRemovingToppings {
pizza.addTopping(Topping("green olives"))
pizza.removeTopping(Topping("green olives"))
assertEquals(pizza.getToppings.size, 0)
}
}
答案 0 :(得分:2)
表示为其指定默认值。 例如,
scala> var num:Int = _
num: Int = 0
scala> var name:String = _
name: String = null
当我声明一个整数值时,它会为其指定0作为默认值,并将null作为默认值指定为字符串。
答案 1 :(得分:0)
在这种情况下,它根据类型使用默认值初始化变量。您可以在4.2 Variable Declarations and Definitions
下的documentation下找到更多详细信息。
以下是默认值:
default type T
0 Int or one of its subrange types
0L Long
0.0f Float
0.0d Double
false Boolean
() Unit
null all other types