Tôi muốn làm một cái gì đó trong Scala tôi sẽ làm trong Java như thế này:Scala null như giá trị mặc định cho tham số tên Int
public void recv(String from) {
recv(from, null);
}
public void recv(String from, Integer key) {
/* if key defined do some preliminary work */
/* do real work */
}
// case 1
recv("/x/y/z");
// case 2
recv("/x/y/z", 1);
Trong Scala tôi có thể làm:
def recv(from: String,
key: Int = null.asInstanceOf[Int]) {
/* ... */
}
nhưng có vẻ xấu xí. Hoặc tôi có thể làm:
def recv(from: String,
key: Option[Int] = None) {
/* ... */
}
nhưng bây giờ gọi với phím trông xấu xí:
// case 2
recv("/x/y/z", Some(1));
các hợp Scala cách là gì? Cảm ơn bạn.
gì về giá trị mặc định = -1 hay 0? – sschaef
@Antoras Đó là có thể, nhưng không thanh lịch (giả sử rằng khóa có thể là bất kỳ giá trị Int). – woky
"Một số" sẽ ngừng trông xấu xí khi nó giúp bạn tiết kiệm từ vài chục NullPointerExceptions :) –