【发布时间】:2015-10-23 17:28:40
【问题描述】:
我有以下代码分布在一堆方法中:
json_element 作为参数传递给方法。
问题:
- 哈希中的值发生了变化,这意味着一个可能有
key,但下一次可能有search - 有时值是
nil,所以它会爆炸。 -
如果有值,我用来创建它的 gem 有那些元素的 ['$'],但如果你这样做,它会出错
json_element['COLLECTION']['$].nil?json = json_element['JSON']['$'] unless json_element['JSON'].nil? predicate = json_element['PREDICATE']['$'] unless json_element['PREDICATE'].nil? key = json_element['KEY']['$'] unless json_element['KEY'].nil? options = json_element['OPTIONS']['$'] unless json_element['OPTIONS'].nil? cache_key = json_element['CACHE-KEY']['$'] unless json_element['CACHE-KEY'].nil?
问题:我如何才能将这整个位提取为一种允许灵活键并且在值为 nil 时不会出错的方法
【问题讨论】:
-
你是想问如何覆盖一个方法?
-
我想把这段代码提取为方法。