如何使用 Ruby 创建电子邮件地址生成器?
How to create email address generator with Ruby?
def emails
i = 0
number = rand(252...4350)
males = ["tom", "jack", "adam"]
females = ["elizabeth", "rose", "juliet"]
surnameMales = ["oak", "yew", "timber"]
surnameFemales = ["rosewelth", "gates", "jobs"]
providers = ["gmail.com", "hotmail.com", "yahoo.com"]
while i <= 100 do
@addresses <<
end
end
我想要做的是选择一个随机数、姓名、姓氏和提供者并将它们放在一起 + 在姓氏末尾附加一个随机数,例如,它看起来像这样:rose.gates643@gmail.com
,但有点卡在我必须把整个事情放在一起的地步。您可能会说,我想创建一个 100
随机电子邮件用于测试目的。
你能告诉我如何用 Ruby
做我想做的事吗?
有一个couple ways to join strings in Ruby。内联占位符似乎在这里最有意义:
@addressess << "#{ males.sample }.#{ surnameMales.sample }#{ number }@#{ providers.sample }"
在双引号字符串中,#{ expr }
被求值并嵌入内联。例如,"#{ 1 + 1 }"
输出 "2"
。
还有一些区分男性或女性的方法——例如,检查随机数是偶数还是奇数:
name = if rand(1..100) % 2 == 0 ? "#{ males.sample }.#{ surnameMales.sample }" : "#{ females.sample }.#{ surnameFemales.sample }"
@addresses << "#{ name }#{ number }@#{ providers.sample }"
结合使用字符串插值和 Array#sample。
"#{females.sample}.#{surnameFemales.sample}#{rand(252...4350)}@#{providers.sample}"
>> "rose.rosewelth3266@gmail.com"
您的目标是将此作为练习,还是只是您想要完成的事情?如果是后者,请安装 faker gem 并使用它:
Faker::Internet.email #=> "kirsten.greenholt@corkeryfisher.info"
对于 100:
100.times.map { Faker::Internet.email }
def emails
i = 0
number = rand(252...4350)
males = ["tom", "jack", "adam"]
females = ["elizabeth", "rose", "juliet"]
surnameMales = ["oak", "yew", "timber"]
surnameFemales = ["rosewelth", "gates", "jobs"]
providers = ["gmail.com", "hotmail.com", "yahoo.com"]
while i <= 100 do
@addresses <<
end
end
我想要做的是选择一个随机数、姓名、姓氏和提供者并将它们放在一起 + 在姓氏末尾附加一个随机数,例如,它看起来像这样:rose.gates643@gmail.com
,但有点卡在我必须把整个事情放在一起的地步。您可能会说,我想创建一个 100
随机电子邮件用于测试目的。
你能告诉我如何用 Ruby
做我想做的事吗?
有一个couple ways to join strings in Ruby。内联占位符似乎在这里最有意义:
@addressess << "#{ males.sample }.#{ surnameMales.sample }#{ number }@#{ providers.sample }"
在双引号字符串中,#{ expr }
被求值并嵌入内联。例如,"#{ 1 + 1 }"
输出 "2"
。
还有一些区分男性或女性的方法——例如,检查随机数是偶数还是奇数:
name = if rand(1..100) % 2 == 0 ? "#{ males.sample }.#{ surnameMales.sample }" : "#{ females.sample }.#{ surnameFemales.sample }"
@addresses << "#{ name }#{ number }@#{ providers.sample }"
结合使用字符串插值和 Array#sample。
"#{females.sample}.#{surnameFemales.sample}#{rand(252...4350)}@#{providers.sample}"
>> "rose.rosewelth3266@gmail.com"
您的目标是将此作为练习,还是只是您想要完成的事情?如果是后者,请安装 faker gem 并使用它:
Faker::Internet.email #=> "kirsten.greenholt@corkeryfisher.info"
对于 100:
100.times.map { Faker::Internet.email }