Я пытаюсь сгенерировать массив, содержащий все двухбуквенные словосочетания.
Как лучше всего сгенерировать его.
Может ли кто-нибудь мне помочь?
Как указывает steenslag, самый быстрый путь -
steenslag
('aa'..'zz').to_a
Если ваш алфавит не от 'a' до 'z', вы можете использовать Array#repeated_combination:
Array#repeated_combination
alphabet = %w[А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я] alphabet.repeated_combination(2).map(&:join) # => ["AA", "AБ", ...]
Или, как указывает Mladen:
Mladen
alphabet.product(alphabet).map(&:join)
Примечание : repeated_combination доступен в Ruby 1.9.2 или с require 'backports/1.9.2/array/repeated_combination' из моего backports драгоценного камня.
repeated_combination
require 'backports/1.9.2/array/repeated_combination'
backports
Преобразует диапазон в массив.