質問: 0 while true case a when a
回答: `when`で`a < n`のような一致でない条件判断を入れる場合、`case a`ではなく`case`とだけしてください。`case`だけの場合、`when`の中で最初に`true`相当となったものが条件を満たします(るりま)。 もっとも、ふつうに`if` - `elsif` - `else`などを使ったほうがわかりやすいかもしれません。