Aşağıdaki yöntemi vardır:scala: (def) bir yöntem kullanılarak vs bir fonksiyonu (val) varsayılan parametreleri tanımlamak
scala> def method_with_default(x: String = "default") = {x + "!"}
method_with_default: (x: String)java.lang.String
scala> method_with_default()
res5: java.lang.String = default!
scala> method_with_default("value")
res6: java.lang.String = value!
Bir val ile aynı ulaşmak için çalışıyorum, ama olsun böyle sözdizimi hatası:
(varsayılan değeri ile, bu bir derler Tamam)
scala> val function_with_default = (x: String) => {x + "!"}
function_with_default: String => java.lang.String = <function1>
(ama alamadım derlemek için bu bir ...)
herhangi bir fikir?
Function0 ile function1 oldukça zeki olduğunu, ama bunun olduğunu söyleyebilirim biraz koklamak. Sadece benim fikrim burada. Tartışma yapılmadı. :) – pedrofurla
BTW fonksiyonları için şekerleri kullanabilirsiniz: '(() => String ile yeni (String => String) {override def apply = Uygula (" varsayılan "); geçersiz kılmayı uygula (x: String) = x + "!" } 'işler. – pedrofurla
Katılıyorum biraz kokuyor ama ben olmayan bir çözüm göremiyorum. –