def divmod(a,b) [a/b,a%b] end
みたいな関数があって。
この例で言う、a/b が不要で a%b だけが要るとしよう。
まあ多重代入じゃなくて配列が返ってると思えば
r=divmod(10,3)[1]
なんだけど、
def foo(a,b) yield[a/b,a%b] end
だと配列と思うのも難しく。とはいえ
foo(2,3){ |dummy,r| p r }
と書くのもいやだし。かといって
foo(10,3){ |,r| p r } foo(10,3){ |(),r| p r }
はエラーだし。
と。
思っていたら。
foo(10,3){ |(*),r| p r } (*),r=divmod(10,3)
こんな書き方でひとつめを捨てられるということを発見した。
知らなかった。
いやそんだけ。