Scala'da anonim bir işlev için varsayılan bir değer ayarlamaya çalışıyorum ve böylece herhangi bir çözüm bulamıyorum. Umarım birileri bana yardım eder.Scala'da işlev parametresi için varsayılan değeri ayarla
, aşağıdaki yapıya,
case class A(id:Int = 0)
case class B(a:A)
object B {
def func1(f:Int = 0)={
........
}
def func2(f:A => B = (how to give default value ?))={
case Nothing => {
//do something....
}
case _ => {
//do some other thing......
}
}
}
Temelde, isteğe bağlı olarak bir parametre geçen olmak için vardır. Bunu nasıl başarabilirim?
scala> def test(f: Int => Int = _ + 1) = f
test: (f: Int => Int)Int => Int
scala> test()(1)
res3: Int = 2
veya dize ile: Başka varsayılan parametre gibi
Bu cevabın soruyla nasıl bir ilişkisi olduğunu merak ediyorum, varsayılan parametrelerden ziyade, körlenmiş işlevlerin kullanımıyla ilgili gibi görünüyor mu? –
@GyroGearless no, hatalısınız – 4lex1v
Tamam, anladım. Ancak, örnek olarak, varsayılan olmayan örnek için bir örneğe sahip olsaydı, örneğinizin daha öğretici olacağını düşünüyorum. 'test (_ * 33) (1)' –