# Inverse FizzBuzz def fizzbuzz(n) x = "" x << "Fizz" if n%3 == 0 x << "Buzz" if n%5 == 0 x.empty? ? n : x end def map_upto(max, f) (1..max).map { |n| f[n] } end def be_short(item) case item when 'Fizz', 'Buzz'; item.chr when Integer; 0 else 'z' end end def fizzbuzz_string(max) map_upto(max, method(:fizzbuzz)).map { |item| be_short item }.join end def find_seq(*sequence) short_seq = sequence.map {
![Inverse FizzBuzz in Ruby - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0e602d488c7da358ea5fee3798151866f81c25e6/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9SW52ZXJzZSUyMEZpenpCdXp6JTIwaW4lMjBSdWJ5JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01NTQ1NmU4ZTFhZjE5OTQxZjMzZTQ0MWNjMjljMGM5Ng%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWVyYm9ybmUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWM5NWNiNmI1OTY2YTQ4ZjA2ZmRkZGNiY2IxNmZlN2M1%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D739031026c22a89d9ced60ecff172e19)