Railstutorial(Michael Hartl):练习4.6

chr*_*phe 4 ruby methods syntax split ruby-on-rails

我没有从Hartl的Rails教程中得到以下练习的答案:

通过使用适当的方法替换清单4.10中的问号,将split,shuffle和join结合起来编写一个对给定字符串中的字母进行混洗的函数.

代码4.10:

>> def string_shuffle(s)
>>   s.split('').?.?
>> end
=> nil
>> string_shuffle("foobar")
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

非常感谢提前!

kin*_*eat 6

我想只是添加shuffle和join就像你说的应该工作:

def string_shuffle(s)
  s.split('').shuffle.join('')
end
Run Code Online (Sandbox Code Playgroud)

这些方法从左到右工作.分割('')将单词分成单独字母的数组.随后Shuffle将它们随机化.并且join('')反转拆分,并将其重新放回一个单词.

编辑澄清:('')是两个单引号,而不是一个双引号.如果你做了split("")和join(""),它也应该工作,因为你只是想在每个角色上拆分和连接.

  • @christophe一旦你有了如上定义的`string_shuffle`方法,就可以把它称为`string_shuffle("foobar")`.每次调用它时都会给出不同的输出.祝你好运RailsTutorial一书.请稍后查看http://rubykoans.com/(在同一部分的末尾推荐)以提高您的ruby技能. (2认同)