def foo(*args, keywords:"KEYWORDS")
p args, keywords
end

foo(0) #=> [0] "KEYWORDS" # キーワード引数を省略。普通
foo(0, keywords: 1) #=> [0] 1 # キーワード引数を明示。普通
foo({keywords: 1}) #=> [] 1 # ハッシュはキーワード引数に展開される。成程


あれ?じゃあ可変長引数にハッシュを渡すこと出来なくね?


foo({x: 0}) #=> `foo': unknown keyword: x (ArgumentError)


やっぱりね。クソ文法すぎるw