2013-02-27 94 views
0

我正在使用MailFactory發送一封電子郵件,並遇到了我以前從未見過的這個奇怪的子句。我來自PHP,現在已經在Ruby上工作了大約一週半的時間。什麼是| smtp |在以下Ruby代碼片段中意味着什麼?

是| smtp |變量Net :: SMTP.start返回的值,然後在{}塊中使用?

response = Net::SMTP.start(cfg['host'], 25, cfg['from_domain'], cfg['username'], cfg['password'], :plain) { 
    | smtp | 
    recipients = cfg['mail_targets']['errors'] 
    smtp.send_message(mail.to_s, mail.from, [recipients, mail]) 
} 

回答

1

這是從start傳入塊的參數。

當這個方法被一個塊調用時,新開始的SMTP對象被賦予該塊,並在塊調用完成後自動關閉。否則,完成後關閉會話是主叫方的責任。

http://apidock.com/ruby/Net/SMTP

相關問題