Ruby (1.9.3) で基本的なトランスレータを作成しています。ローカル テスト ファイル (「a.txt」) から取得し、gsub を使用して特定の一致を置き換え、現代英語から中/初期現代英語への翻訳を模倣しています。読みやすさの問題に遭遇しました:
大量の gsub の使用状況を読みやすくするにはどうすればよいですか? で始まる複数の行を使用しようとしました
def translate
@text.gsub(/my/, 'mine')
@text.gsub(/\sis\s/, ' be ')
end
ただし、これは最終的な gsub のみを出力します。2 番目のリクエストが最初のリクエストを上書きするとしか思えません。gsub リクエストの膨大な行を作成することは避けたいのですが、適切な答えが見つからないようです。
これが私の現在のプログラムのサンプルです:
lines = File.readlines('a.txt')
@text = lines.join
def translate
@text.gsub(/my/, 'mine').gsub(/\sis\s/, ' be ').gsub(/y\s/, 'ye ').gsub(/t\s/, 'te ').gsub(/t\,/, 'te,').gsub(/t\./, 'te.')
end
puts translate
このリクエストが完全に基本的なものであると思われる場合は、事前にお詫び申し上げます。乾杯!