現在、これを使用してリストの最初の要素を選択します。
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」です。これを行うより良い方法はありますか?それとも、不変リストを使用するために支払う代償に過ぎないのでしょうか?
背景: ルーチンは Unit Test Mock クラスで使用されます。戻り値の型が設定されています。