💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 4.6 练习 电子书中有练习的答案,如果想阅读参考答案,请[购买电子书](http://railstutorial-china.org/#purchase)。 1. 把[代码清单 4.14](#listing-string-shuffle) 中的问号换成合适的方法,结合 `split`、`shuffle` 和 `join` 实现一个函数,把字符串中的字符顺序打乱。 2. 参照[代码清单 4.15](#listing-string-shuffle-two),把 `shuffle` 方法添加到 `String` 类中。 3. 创建三个哈希,分别命名为 `person1`、`person2` 和 `person3`,把名和姓赋值给 `:first` 和 `:last` 键。然后创建一个名为 `params` 的哈希,让 `params[:father]` 对应 `person1`,`params[:mother]` 对应 `person2`,`params[:child]` 对应 `person3`。验证一下 `params[:father][:first]` 的值是否正确。 4. 找一个在线版 Ruby API 文档,了解哈希的 `merge` 方法的用法。下面这个表达式的计算结果是什么? ``` { "a" => 100, "b" => 200 }.merge({ "b" => 300 }) ``` ##### 代码清单 4.14:打乱字符串函数的骨架 ``` >> def string_shuffle(s) >> s.?('').?.? >> end >> string_shuffle("foobar") => "oobfra" ``` ##### 代码清单 4.15:添加到 `String` 类中的 `shuffle` 方法骨架 ``` >> class String >> def shuffle >> self.?('').?.? >> end >> end >> "foobar".shuffle => "borafo" ```