Если вы хотите "последовательных строк" длины 3:
r =/
(?= # begin a positive lookahead
((.{3}) # match any three characters in capture group 1
) # close the positive lookahead
/x # free-spacing regex definition mode
"abcdef".scan(r).flatten
#=> ["abc", "bcd", "cde", "def"]
Письменное обычным способом, это регулярное выражение:
r = /(?=(.{3}))/
Если вы хотите массив массивов три письма, сделайте это:
"abcdef".scan(/(?=(.{3}))/).flatten.map { |s| s.split('') }
#=> [["a", "b", "c"], ["b", "c", "d"], ["c", "d", "e"], ["d", "e", "f"]]
1. 'in_groups_of' является метод Rails. 2. Результат другой. – Ilya
Спасибо, я не думал об этом. – fabriciofreitag