根据字符串输出引用数组

时间:2019-04-10 22:24:33

标签: arrays swift

我在这里学习的是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);
}

1 个答案:

答案 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)
}