Я хотел бы сделать в Scala что-то, что я бы сделал в Java так:
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);
В Scala я мог бы сделать:
def recv(from: String,
key: Int = null.asInstanceOf[Int]) {
/* ... */
}
, но это выглядит уродливо. Или я мог бы сделать:
def recv(from: String,
key: Option[Int] = None) {
/* ... */
}
, но теперь звонок с ключом выглядит уродливо:
// case 2
recv("/x/y/z", Some(1));
Каков правильный Способ Scala? Спасибо.