問題 2
(初級 🌟) リストの最後から2番目(または2番目に最後)の要素を求めよ。
variable {α : Type}
def myButLast (l : List α) : Option α :=
if l.length < 2 then
-- `l` の長さが2未満のときでも `i` は定義できてしまうので,
-- この if 式が必要
none
else
let i := l.length - 2;
l[i]?
#guard myButLast [1, 2, 3, 4] == some 3
#guard myButLast ['x', 'y', 'z'] == some 'y'
#guard myButLast [1] == none