質問

これはオタクにとっては簡単なことだと思います:

文字列「ThisIsMyString」があり、Ruby を使用して「this_is_my_string」のようにフォーマットしたいとします。

それ、どうやったら出来るの?

マット

役に立ちましたか?

解決

ActiveSupport (Rails と同様、ただし外部でも使用可能) にアクセスできる場合は、 underscore のメソッド インフレクターモジュール.

"ClassName".underscore # => class_name

他のヒント

クラスString    デフto_under_score       (GSUB(/ [A-Z]){| P | "_" + p.downcase})[1 ..- 1]    終わり 終了

"MyTestCase" .to_under_score => "my_test_case"

http://www.ruby-forum.com/topic/113697#から265696

文字列#のアンダースコア:

ルビーファセットにこれを実行する機能を有しています。ここでのソースのです:

  def underscore
    gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
    gsub(/([a-z\d])([A-Z])/,'\1_\2').
    tr("-", "_").
    downcase
  end
あなたがのレールのプロジェクトからのactivesupportののへのアクセス権を持っている場合は、

は、

と同じくらい簡単です
require 'activesupport'
"ThisIsMyString".underscore
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top