gpt4 book ai didi

ruby-on-rails - 优化方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:16 25 4
gpt4 key购买 nike

我有以下代码

def calculate_metrics
reach_values = {}
reach_values['reach_change_value'] = 0
reach_values['reach_change_type'] = 'nochange'

if find_yesterdays_metrics
change = (get_influencer_metrics["total_count"]).to_i - find_yesterdays_metrics.reach_count
reach_values['reach_change_value'] = change.abs

case
when change < 0
reach_values['reach_change_type'] = "down"
when change > 0
reach_values['reach_change_type'] = "up"
end
end

reach_values
end

def set_metrics_data
@facebook_metrics = @influencer_metrics.new(
reach_change_value: calculate_metrics['reach_change_value'],
reach_change_type: calculate_metrics['reach_change_type'],
social_account: SocialAccount.friendly.find('facebook')
)
end

calculate_metrics 现在被调用两次并被完全处理两次。是否有任何关于如何优化相同数据的建议,这样我就不必两次处理相同的数据。

最佳答案

set_metrics_data 中将calculate_metrics 的结果放入一个tmp 变量中,我们称它为x,然后询问x 的类型和值。看起来像:

x = calculate_metrics  
reach_change_value : x['reach_change_value']
each_change_type : x['reach_change_type']`

因此,对 calculate_metrics 的调用仅被调用一次(并存储在 tmp 变量 x 中)。

关于ruby-on-rails - 优化方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37270286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com