2016-06-28 3 views
1

は、誰かが私に説明していただけますが代わりに言葉にありましたアルファベット(.next)の下に各文字を何度も動かしています。私はそれがシンプルだと知っているが、私は.timesの理解から、これを使用する方法ですが、このような何かが起こったmany.times ....それは冗談だった。なぜ.timesが難しい中である - Rubyの機能.timesが困難であること</p> <pre><code>str.chars.map{|letter| num.times{letter.next}} </code></pre> <p>しかし多くの手紙のためだけの数(<code>num</code>)を生産している理由ルビー

答えて

1

num.timesは、numの値を返します。あなたは、以下のようなものを使用する必要があります

str.chars.map{|letter| num.times{ letter = letter.next }; letter } 
+2

'( 'letter'.ord + num).chr – mudasobwa

0

"OQO"

+0

mudasobwaさんのコメント – Luke

0
> 'abc'.chars.map{|c| c.tap { 3.times{c.next!} } }.join 
=> "def" 

または多分

3.times.inject(letter){|a,_| a.next} 
を取得するために caesar_up("MOM", 2)のようにそれを使用すると

def caesar_up(string, n) 
    string.chars.map { |char| (char.ord + n).chr }.join 
end 

のようにうん、私が何かをしたいです

しかしどちらも非常に読みやすいです。

関連する問題

 関連する問題