我在这里学习的是Swift,所以很抱歉,这是一个愚蠢的问题。
我希望使用一个函数(字符串)的输出来确定另一个函数(数组)的输入。
然后将第一个函数输出(字符串)与另一个字符串组合在一起,以形成已经定义的数组的名称,我想将其用作第二个函数的输入。但是,尽管具有相同的名称,但String仍不被视为数组。
我已经跳过了一些代码,但是下面的相关部分。
use std::iter;
fn main() {
let mut c = 0;
let z: Vec<_> = iter::repeat("dont't satisfy condition 1")
.take_while(|_| {
c = c + 1;
let rep = if c < 5 { true } else { false };
rep
})
.collect();
println!("------{:?}", z);
}
答案 0 :(得分:0)
好吧,您可以使用字典,其中的键替换您的数组名称,而值是数组。然后,您将使用创建的名称在字典中查找数组值:
let arrays = ["rushProb": [0,11,19,64,78,89,96,98,99,100],
"fooProb" : [0,15,29,44,68,78,86,92,94,100]]
// This is successfully output as "rush"
let playSel = findPlay(prob: scen1Prob, outcome: scenPlay)
// This then creates "rushProb"
let playSelProb = playSel+"Prob"
// look up the array that corresponds to "rushProb"
if let array = arrays[playSelProb] {
findYards(prob: array)
}