1

一連の文をキャメルケースのメソッド名に変換する必要がありました。私はそれのために何かを書き終えました。もっと簡単なものがあるかどうか、私はまだ興味があります。

与えられた文字列a = "This is a test."出力thisIsATest

私は次の目的で使用しました:

a.downcase.gsub(/\s\w/){|b| b[-1,1].upcase }
4

4 に答える 4

3

それがあなたのソリューションとして優れているかどうかはわかりませんが、うまくいくはずです:

>> "This is a test.".titleize.split(" ").join.camelize(:lower)
=> "thisIsATest."
  • titleize: 各単語の最初の文字をすべて大文字にする
  • split(" ").join: 各単語で配列を作成し、結合してスペースを絞り出します
  • camelize(:lower): 最初の文字を小文字にする

Rails のドキュメントでさらに楽しい関数を見つけることができます: http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html

于 2010-07-15T12:25:32.670 に答える
2
"active_record".camelize(:lower)

出力:「アクティブレコード」

これらを使用する

于 2010-07-15T11:04:08.220 に答える
1
"Some string for you".gsub(/\s+/,'_').camelize(:lower) #=> "someStringForYou"
  1. gsub: スペースをアンダースコアに置き換えます
  2. camelize: Java に似たメソッド camelcase
于 2010-07-15T14:38:14.553 に答える
0

http://english.rubyforge.org/で入手できる 'English' gem を試してみてください。

require 'english/case'

a = "This is a test."

a.camelcase().uncapitalize() # => 'thisIsATest
于 2010-07-19T03:20:59.117 に答える