2015-12-25から1日間の記事一覧

インデックス付きの無限ループ(Ruby)

Kernel#loop と同じですが、インデックスが付きます。意外と使うと思うのだが。Kernel#loop をオーバーライドしてもいいのだが、ここではやめておきました。 module Kernel def loop_with_index(i = 0) begin yield(i) end while (i += 1) end end 実行例。…

文字列をあらゆる n 通リに分割する(Ruby)

String#separate です。分割のすべての場合を尽くします。配列で返します。 class String def separate(n) return [[self]] if n <= 1 or n > self.length if n == 2 st = self return [[st]] if st.length == 1 ar = [] (st.length - 1).times {|i| ar << […