0

略語から完全な言語名を作成する必要があります。

私は普通の方法でそれを作ろうとしました(うまくいきません)

def long(lang)
 if lang == "en"
  lang == "English"
 elsif lang == "ru"
  lang == "Russian"
 end
 ...
end

これを行うより良い方法は何ですか?

4

2 に答える 2

3

代入演算子が必要なときに比較演算子があるため、機能しません。これをチェックしてください:

def long(lang)
  if lang == "en"
    lang = "English"
  elsif lang == "ru"
    lang = "Russian"
  ...
  end

  lang
end

または、よりクリーンで短くすることができます

def long lang
  map = {en: 'English',
    ru: 'Russian'}
  map[lang.to_sym]
end

またはさらに短く(一時変数を削除することにより)

def long lang
  {
    en: 'English',
    ru: 'Russian'
  }[lang.to_sym]
end
于 2012-10-02T07:31:06.850 に答える