目前我用它来选择列表的第一个元素:
def Get_Read_Key =
{
logger.entering (TAG, "Get_Read_Key")
val Retval = if (Read_Key_Available)
{
val Retval = Keystrokes.head
Keystrokes = Keystrokes.tail
Retval
}
else
{
calculator.ui.IKey.No_Key
} // if
logger.exiting (TAG, "Get_Read_Key", Retval)
Retval
} // Get_Read_Key
def Read_Key_Available = Keystrokes.size > 0
但它看起来有点笨拙——尤其是双“Retval”。有没有更好的方法来做到这一点?还是仅仅是使用不可变列表的代价?
背景:该例程用于单元测试模拟类——返回类型已设置。