Random 仅当字符串在Swift中传递了逻辑语句时,如何连接字符串?
我的挑战有两方面:Random 仅当字符串在Swift中传递了逻辑语句时,如何连接字符串?,random,swift,switch-statement,string-concatenation,Random,Swift,Switch Statement,String Concatenation,我的挑战有两方面: 从相似字符串数组中拾取单个字符串,但前提是首先通过了布尔测试 “Finally”我需要将生成的任何/所有字符串连接成一个完整的文本,并且整个代码必须使用Swift 说明:用于说明逻辑的信封背面代码: generatedText.text = case Int1 <= 50 && Int2 == 50 return generatedParagraph1 = pick one string at RANDOM from a
generatedText.text =
case Int1 <= 50 && Int2 == 50
return generatedParagraph1 = pick one string at RANDOM from a an array1 of strings
case Int3 =< 100
return generatedParagraph2 = pick one string at RANDOM from a an array2 of strings
case Int4 == 100
return generatedParagraph3 = pick one string at RANDOM from a an array3 of strings
...etc
default
return "Nothing to report"
and concatenate the individual generatedParagraphs
好的,我没有传递Bool,但是我展示了从[String]连接三个随机字符串。我在操场上跑的
import Foundation
var stringArray = [String]()
for var i = 0; i < 100; i++ {
stringArray.append("text" + "\(i)")
}
func concat (array: [String]) -> String {
let count = UInt32(stringArray.count)
let randomNumberOne = Int(arc4random_uniform(count))
let randomNumberTwo = Int(arc4random_uniform(count))
let randomNumberThree = Int(arc4random_uniform(count))
let concatString = array[randomNumberOne] + array[randomNumberTwo] + array[randomNumberThree]
return concatString
}
let finalString = concat(stringArray)
<代码>导入基础
var stringArray=[String]()
对于var i=0;i<100;i++{
追加(“文本”+“\(i)”)
}
func concat(数组:[String])->String{
let count=UInt32(stringArray.count)
设randomNumberOne=Int(arc4random_均匀(计数))
设randomNumberTwo=Int(arc4random_均匀(计数))
设randomNumberTree=Int(arc4random_均匀(计数))
让concatString=数组[randomNumberOne]+数组[RandomNumberWO]+数组[RandomNumberTree]
返回字符串
}
设finalString=concat(stringArray)
感谢您的贡献。当我在操场上运行代码时,我注意到它有些奇怪。字符串中有1个元素-->Uint32(stringarray.count)=4,有2个元素Uint32(stringarray.count)=5,有3个元素=6,以此类推。它始终会超过3。但是,如果我只运行var stringray=[“1”、“2”、“3”等]并在游乐场中单独运行计数,则计数是正确的。为什么它在功能内部与单独存在不同?Uint32搞乱了吗,我的电脑是64位的。嗯,我不明白那个问题。我也在64位机器上。我把循环计数器改为I<1,它就工作了。或者我删除了循环,只设置了stringArray=[“text”]就行了。你能把你放在操场上的代码贴出来吗?在这里我把它作为一个单独的问题贴出来:我已经玩了你的代码10个小时了,但我仍然在努力想怎么做。我是一个初学者,似乎每次我生成一组我需要的变量时,它们都超出了我需要使用它的下一个“函数”的范围,这有意义吗?我需要布尔运算,所以它会变成一个嵌套函数(我想这就是所谓的)。
import Foundation
var stringArray = [String]()
for var i = 0; i < 100; i++ {
stringArray.append("text" + "\(i)")
}
func concat (array: [String]) -> String {
let count = UInt32(stringArray.count)
let randomNumberOne = Int(arc4random_uniform(count))
let randomNumberTwo = Int(arc4random_uniform(count))
let randomNumberThree = Int(arc4random_uniform(count))
let concatString = array[randomNumberOne] + array[randomNumberTwo] + array[randomNumberThree]
return concatString
}
let finalString = concat(stringArray)