今日のgolf - るびまゴルフ
久々にgolf。 問題はコチラ.
標準入力から、3,5 という入力を受け取って、3 から5 までの数字を出力するコード。
まず素直(?)に書いて、
p *eval(gets.split(',').join('..')) # 35B順等に縮めると
p *eval(gets.sub',','..') # 25Bここからは手強いので寝かせて。
eval'A,B='+gets;p *A..B # 23BA, Bの重複がとても気になる…
ちょっとずるいけど、$ ruby -n を使っていいと、
p *eval(sub',','..') # 20B文字列のRangeを使う方法もやってみたけど、挙動に問題があるのでやめ。
風の噂では、20Bまでいける、と聞いたんだけど…がんばります。
参考:
Rubyist Magazine - るびまゴルフ 【第 6 回】