-1

特殊文字 (またはスペイン語のアクセント) の正規化で問題が発生しました。(個人的な gem の作成、インストール、使用方法に関する) 学習演習として GEM を作成しましたが、別の ruby​​ ファイルで gem をロードするたびに、残念ながらタイトルのエラーに遭遇します。以下のコードは、私の GEM が何でできているかを示しています (コードが非常に悪いことはわかっていますが、これも学習課題です)。

#!/bin/env ruby
# encoding: utf-8

module SpanishStringNormalizer

    class Normalizer

        def self.spanishNormalize (aString)

                while (aString.include? "á") ==true ||
                      (aString.include? "é") ==true ||
                      (aString.include? "í") ==true ||
                      (aString.include? "ó") ==true ||
                      (aString.include? "ú") ==true            do

                        aString ["á"]= "a" if aString.include? "á"
                        aString ["é"]= "e" if aString.include? "é"
                        aString ["í"]= "i" if aString.include? "í"
                        aString ["ó"]= "o" if aString.include? "ó"
                        aString ["ú"]= "u" if aString.include? "ú" 

                end #end of while

                return aString

        end #end of spanishNormalize

    end #end of class

end #end of module

ただし、このgemを別のrubyファイルにロードすると、次のエラーが発生します

/Users/Andre/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:「必要」: /Users/Andre/.rvm/gems /ruby-1.9.3-p429/gems/Spanish String Normalizer-0.0.0/lib/spanish_str_normalizer.rb:25: 構文エラー、予期しない '\n'、tCOL​​ON2 または '[' または '.' が必要です (構文エラー)

いろいろ試しているのですが、解決できません。誰かが私がやっている間違いを特定するのを手伝ってもらえますか?

私の GEM プロジェクトはここにあります: https://github.com/betogess506/Spanish-String-Normalizer

4

2 に答える 2

4

コードを試しましたが、システムでエラーを再現できません (Ruby 2.0.0 または 1.9.3 を使用していません)。String#trただし、コードは次のメソッドだけを使用して記述できるため、問題のトラブルシューティングに煩わ​​される価値はないと思います。

module SpanishStringNormalizer    
  def self.normalize(string)
    string.tr('áéíóú', 'aeiou')
  end
end

SpanishStringNormalizer.normalize('fóó')
# => "foo"
于 2013-07-18T09:23:59.393 に答える