我在重复使用Twilio的动词,并希望重构我的代码现在看起来有点像这样

def sample
    render text: (Twilio::TwiML::Response.new do |r|
        r.Say 'Welcome to ABC Residence', voice: 'alice', language: 'en-GB'
        r.Say 'Thank you for visiting ABC Residence.', voice:'alice', language: 'en-GB'
        r.Hangup
    end).text
end

注意我使用了两次voice: 'alice'language: 'en-GB'。我怎样才能把这些放进一个变量中反复使用呢?

最佳答案

把它们揉成一团然后用它:

def sample
    props = {voice: 'alice', language: 'en-GB'}

    render text: (Twilio::TwiML::Response.new do |r|
        r.Say 'Welcome to ABC Residence', props
        r.Say 'Thank you for visiting ABC Residence.', props
        r.Hangup
    end).text
end

08-19 05:09