4.6 练习
最后更新于:2022-04-01 22:28:40
# 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"
```
';