Ответ 1
Метод chars
возвращает нумерацию строковых символов.
str.chars.sort.join
#=> "Sginrt"
Чтобы сортировать регистр нечувствительно:
str.chars.sort(&:casecmp).join
#=> "ginrSt"
Для массива существует красивый метод sort
для изменения последовательности элементов. Я хочу добиться тех же результатов для строки.
Например, у меня есть строка str = "String"
, я хочу сортировать ее в алфавитном порядке одним простым методом до "ginrSt"
.
Есть ли собственный способ включить это, или я должен включить mixins из Enumerable
?
Метод chars
возвращает нумерацию строковых символов.
str.chars.sort.join
#=> "Sginrt"
Чтобы сортировать регистр нечувствительно:
str.chars.sort(&:casecmp).join
#=> "ginrSt"
Также (просто для удовольствия)
str = "String"
str.chars.sort_by(&:downcase).join
#=> "ginrSt"
str.unpack("c*").sort.pack("c*")
Вы можете преобразовать строку в массив для сортировки:
'string'.split('').sort.join