Scala - null (?) в качестве значения по умолчанию для именованного параметра Int

Я хотел бы сделать в 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? Спасибо.

7
задан woky 23 January 2012 в 13:35
поделиться