0

テキストファイルの単語を逆にしたい:

私の入力が次の場合:

Hello World

私の出力は次のようになります。

World Hello

私はこれを試しました:

File.open('teste.txt').each_line do |line|
  print line.reverse.gsub(/\n/,"")
end

しかし、私は文字を逆にしました。

4

3 に答える 3

9
"Hello World".split.reverse.join(" ")
=> "World Hello"

デフォルトの区切り文字である空白を使用して、文字列を配列に分割します。次に、配列を反転し、空白も使用して配列内の文字列を連結します。

ソリューションは次のようになります。

File.open("test.txt").each_line do |line|
  puts line.split.reverse.join(" ")
end

puts出力の後に改行を追加しますが、そうではありprintません。splitは単語の配列に分割するときに、各行の元の改行を破棄するため、これは必須です。

于 2013-11-09T19:35:32.080 に答える
2

文字列を単語に分解し、それを逆にします。

"Hello World".split.reverse.join(' ') # => "World Hello"
于 2013-11-09T19:35:17.323 に答える
0

文字列をスペースで分割し、逆にしてから結合します。

そのようにするためのメソッドを作成できます:

def reverse_words(string)
      return string.split(" ").reverse.join(" ")
end

その後、そのメソッドを次のように呼び出します。

print reverse_words("Hello World")

または、戻り値に文字列を設定します。

reversed_string = reverseWords("Hello World")
于 2013-11-09T19:38:07.113 に答える