小编eLo*_*ato的帖子

dijit和dojo有什么区别

我是道场新手.我认为这个词就像dijit.它和道场有什么区别?

dojo

7
推荐指数
2
解决办法
5384
查看次数

在轨道模型上重构ruby

鉴于以下代码,

你会如何重构这个,以便方法search_word可以访问issueid?

我会说改变函数search_word使得它接受3个参数或者使issueid成为实例变量(@issueid)可以被视为不良实践的一个例子,但老实说我找不到任何其他解决方案.如果除此之外没有其他解决方案,您是否介意解释为什么没有其他解决方案?

请记住它是Ruby on Rails模型.

def search_type_of_relation_in_text(issueid, type_of_causality)
    relation_ocurrences = Array.new
    keywords_list = { 
        :C => ['cause', 'causes'],
        :I => ['prevent', 'inhibitors'],
        :P => ['type','supersets'],
        :E => ['effect', 'effects'],
        :R => ['reduce', 'inhibited'],
        :S => ['example', 'subsets'] 
    }[type_of_causality.to_sym]  

    for keyword in keywords_list
        relation_ocurrences + search_word(keyword, relation_type)
    end        

    return relation_ocurrences
end


def search_word(keyword, relation_type)
relation_ocurrences = Array.new

@buffer.search('//p[text()*= "'+keyword+'"]/a').each { |relation|

    relation_suggestion_url   = 'http://en.wikipedia.org'+relation.attributes['href']
    relation_suggestion_title = URI.unescape(relation.attributes['href'].gsub("_" , " ").gsub(/[\w\W]*\/wiki\//, ""))

    if not @current_suggested[relation_type].include?(relation_suggestion_url)
        if @accepted[relation_type].include?(relation_suggestion_url)
            relation_ocurrences << {:title => …
Run Code Online (Sandbox Code Playgroud)

ruby refactoring model ruby-on-rails-3

0
推荐指数
1
解决办法
292
查看次数

标签 统计

dojo ×1

model ×1

refactoring ×1

ruby ×1

ruby-on-rails-3 ×1