Как преобразовать строку в нижний или верхний регистр в Ruby

Одна недостающая вещь, которая важна для понимания, заключается в том, что редко диагностическая ошибка пропускает оператор return. Рассмотрим эту функцию:

int f(int x)
{
    if (x!=42) return x*x;
}

Пока вы не вызываете ее с аргументом 42, программа, содержащая эту функцию, отлично действует C и не вызывает никакого неопределенного поведения, несмотря на то, что она будет вызывать UB, если вы вызвали f(42) и впоследствии попытались использовать возвращаемое значение.

Как таковой, хотя компилятор может предоставить эвристику предупреждения для отсутствующих операторов возврата, это невозможно сделать это без ложных срабатываний или ложных негативов. Это является следствием невозможности решения проблемы остановки.

1054
задан the Tin Man 22 August 2016 в 17:47
поделиться

5 ответов

В Ruby есть несколько методов для изменения регистра строк. Для преобразования в нижний регистр используйте нижний регистр :

"hello James!".downcase    #=> "hello james!"

Аналогично, верхний регистр делает каждую букву заглавной, а заглавными буквами делает первую букву строки заглавной, а остальные - строчными:

"hello James!".upcase      #=> "HELLO JAMES!"
"hello James!".capitalize  #=> "Hello james!"
"hello James!".titleize    #=> "Hello James!"

​​Если вы хотите изменить строку на месте, вы можете добавить восклицательный знак к любому из этих методов:

string = "hello James!"
string.downcase!
string   #=> "hello james!"

Дополнительные сведения см. В документации для String .

1558
ответ дан 19 December 2019 в 20:19
поделиться

Не будет работать на каждый, но это просто сохранило меня набор времени. У меня просто была проблема с CSV, возвращающим "TRUE или "ЛОЖЬ", таким образом, я просто добавил Значение to_s.downcase == "верный", который возвратит булевскую переменную, верную, если значением будет "TRUE" и ложь, если значение является "ЛОЖЬЮ", но будет все еще работать на булеву истину и ложь.

0
ответ дан 19 December 2019 в 20:19
поделиться

Метод ruby ​​ downcase возвращает строку, в которой прописные буквы заменены строчными буквами.

"string".downcase

https://ruby-doc.org/core-2.1.0 /String.html#method-i-downcase[124 impression

18
ответ дан 19 December 2019 в 20:19
поделиться

Вы можете узнать все методы, доступные для String, открыв irb и запустив:

"MyString".methods.sort

И список методов, доступных для строк, в частности:

"MyString".own_methods.sort

Я использую это, чтобы узнавать новое и интересное об объектах, о существовании которых я, возможно, и не подозревал.

121
ответ дан 19 December 2019 в 20:19
поделиться

... а в верхнем регистре:

"Awesome String".upcase
=> "AWESOME STRING"
12
ответ дан 19 December 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: