0

文字列の最後のスペースをどうやって取り除くことができるのだろうと思っていました。デフォルト値を使用して文字列を一定回数繰り返すrepeatメソッドを作成しようとしています。これは私がこれまでに持っているものです。

    def repeat(word, num = 2)
      num.times do
        print word + " " 
      end
    end

    repeat("hello")

「こんにちはこんにちは」を与えるためにこれが必要ですが、スペースで「こんにちはこんにちは」を与えてくれます。どうすればその余分なスペースを取り除くことができますか?チョップを試しましたが、正しく実装できないようです。

4

3 に答える 3

5
def repeat(word, num = 2)
  print ([word] * num).join(" ")
end

repeat("hello")
于 2013-03-20T01:02:37.047 に答える
2

リピートメソッドに新しい文字列を割り当てると、 chop!を使用できます。。

それはあなたが持っている最後のスペースを削除して、その場で文字列を変更します。以前は、を呼び出すchopと文字列のコピーが返されるため、スペースが残ります。

やってみてください:

chopped = repeat("hello").chop!
于 2013-03-20T01:03:08.260 に答える
0

もう1つのオプション:

def repeat(word, num = 2)
  print ("#{word} " * num).strip
end
于 2013-03-20T02:51:35.813 に答える