如何在Ruby中循环特定块
我想循环邮件正文,这样它会一直发送电子邮件,直到按下Ctrl+c。我该怎么做如何在Ruby中循环特定块,ruby,Ruby,我想循环邮件正文,这样它会一直发送电子邮件,直到按下Ctrl+c。我该怎么做 Mail.deliver do to 'mikel@test.lindsaar.net' from 'ada@test.lindsaar.net' subject 'testing sendmail' body 'testing sendmail' #how to loop the body to keep sending email end 要开始无限循环,您可以使用: loop do
Mail.deliver do
to 'mikel@test.lindsaar.net'
from 'ada@test.lindsaar.net'
subject 'testing sendmail'
body 'testing sendmail' #how to loop the body to keep sending email
end
要开始无限循环,您可以使用:
loop do
# email sending logic here
end
另一个选择是:
while true
# email sending logic here
end
另一个问题是:
until false
# email sending logic here
end
你有主意了。只有当你停下来的时候,它们才会停下来
loop do
Mail.deliver do
to 'mikel@test.lindsaar.net'
from 'ada@test.lindsaar.net'
subject 'testing sendmail'
body 'testing sendmail' #how to loop the body to keep sending email
end
end
编辑
在评论中讨论之后,这里是如何将body
作为参数传递的:
def send_mail(body) # pass an argument called `body`
Mail.deliver do
to 'mikel@test.lindsaar.net'
from 'ada@test.lindsaar.net'
subject 'testing sendmail'
body body # use passed into the method argument
end
end
用法:
send_email('this is a demo body')
不行,兄弟,我已经试过了,问题是直到邮件的最后一个结尾,正文才被发送。deliver do,当我添加循环时,它会进入正文之间,所以它只循环正文,而不会满足end@noname我不明白你的意思。将电子邮件发送代码放入循环中,您就很好了。编程就是编程,没有循环不起作用的事情。是的。我只想循环正文,而不是整个邮件。交付,如果我循环整个内容,我将无法使用用户输入发送电子邮件,我希望你理解我想说的,如果我循环整个内容,我必须只使用一封电子邮件,但我需要这样做,以便我可以选择任何我想要发送的电子邮件。。。对不起,英语不是我的第一语言,所以你想让
正文
使用用户的输入?为什么不将body作为参数传递并使用它呢?是的,如果我循环整个过程,我将无法选择每次运行代码时要发送给谁,或者要使用哪个电子邮件id发送邮件。。这就是为什么我只需要循环邮件正文,所以每次运行脚本时,我都可以选择要发送给谁等等。。你能给我举一个通过正文作为参数的例子吗?请读“”。我们希望看到您解决问题的尝试,以及对哪些不起作用的描述。""他说。