有没有一种有效的方法可以随机返回大写或小写的字符串?我不想在数组中使用sam build
sam package --s3-bucket <your-bucket> --output-template-file packaged.yaml
sam deploy \
--template-file packaged.yaml \
--stack-name sam-app \
--capabilities CAPABILITY_IAM
或upcase
,如下所示。同样,Array将包含两个名称,假设[“ Cary”,“ Ursus”],而我想要的输出将是这4个结果之一。 1-我的名字是CARY或我的名字是cary或我的名字是URSUS或我的名字是ursus。
downcase
答案 0 :(得分:7)
这个呢? 0代表大写,1代表小写
def random_case(name)
rand(2).zero? ? name.upcase : name.downcase
end
rand(2)
返回0
或1
。
如果要从数组中随机获取方法
def random_case(name)
name.public_send([:upcase, :downcase].sample)
end
注释中要求的多个名称
def random_case(*names)
names.map { |name| rand(2).zero? ? name.upcase : name.downcase }
end
您可以使用
random_case("Ursus", "Cary")
注释中的最后一个请求
def random_case(*names)
names.sample.public_send([:upcase, :downcase].sample)
end
答案 1 :(得分:0)
只需另一个选择:
def random_case(*names)
name = names.sample.downcase
[true, false].sample ? name.upcase : name
end
所以
10.times do
p random_case('Kirk', 'Spock')
end