我正在制作一个程序,我需要结合很多变量,其中大多数是字符串,但我有一些int,通过这样做
name = "#{variable1}#{variable2}"
name2 = "#{variable2}#{variable1}"
这是一个只有两个变量的简单例子,但这就是我想要做的想法。我正在逐一做所有的可能性,即使有两个以上的变量,但有很多组合。有没有一种简单的方法可以做到这一点,或者我必须逐一进行呢?另外,我是否需要单独编写引号或者这样做是否合适?
答案 0 :(得分:3)
这是你的想法吗?
variable1 = "cat"
variable2 = 9
variable3 = "lives"
arr = [variable1, variable2, variable3]
#=> ["cat", 9, "lives"]
arr.join
#=> "cat9lives"
答案 1 :(得分:0)
将所有或部分变量放入一个数组中,这样可以更容易地生成组合。
s1 = 'a'
s2 = 'b'
s3 = 'c'
n = 8
[s1, s2, s3, n].combination(3).map(&:join)
=> ["abc", "ab8", "ac8", "bc8"]
上面的示例假设您将从数组中选择3个变量中的任何一个并计算组合。您可能需要调整该数字以满足您的需求。
答案 2 :(得分:0)
编程的整个想法并非一个接一个地完成所有可能性。 “有很多组合”:它们看起来像我的排列。如果是这样的话:
var1 = "aa"
var2 = "bb"
var3 = 2
res = [var1, var2, var3].permutation.map{|perm| perm.join}
p res #=> ["aabb2", "aa2bb", "bbaa2", "bb2aa", "2aabb", "2bbaa"]