Подтвердить что ты не робот

Ruby-метод, чтобы строка типа Hello World была похожа на 'hello_world'

Что такое метод Ruby, чтобы строка типа Hello World была похожа на hello_world.

4b9b3361

Ответ 1

Вам не нужны помощники Rails. Вы можете сделать это в чистом рубине.

'Hello World'.downcase.tr(' ', '_')
# => hello_world

Ответ 2

Если вы хотите сделать это с помощью методов Rails, вы также можете:

В Rails 4:

"Hello World".parameterize('_')
=> "hello_world"

Или (в Rails 5):

"Hello World".parameterize(separator: '_')
=> "hello_world"  

Я думаю, о чем думал @DGM.

Рельсы 4 ссылки: http://guides.rubyonrails.org/v4.2/active_support_core_extensions.html#parameterize https://apidock.com/rails/String/parameterize

Ссылка Rails 5: http://api.rubyonrails.org/classes/String.html#method-i-parameterize

Ответ 3

Это должно сделать это:

'Hello World'.gsub(/( )/, '_').downcase!

Ответ 4

Просто добавив другие ответы:

'Hello World'.split.join('_').downcase
  => 'hello_world'

Ответ 5

'Hello World'.sub(' ', '_').downcase!
=> 'hello_world'

Ответ 6

"Hello World".downcase.split.join( "_" )

Ответ 7

str = 'Hello World'
str.downcase!.tr!(' ','_')
p str #=> hello_world

Ответ 9

"Hello World".gsub( "," "). underscore