私がしたいことは、別の配列(availableExercises)の要素を1つずつ追加して配列(配列)に値を設定することです。私はシーケンスが与えられた数のアイテムを保持しなければならないので、1つずつ実行したい。利用可能なエクササイズリストは本質的に有限であり、複数の利用可能なリストの合計ではなく、必要な回数だけその要素を使用したいと考えています。これはSwift3のようなものですか?
含まれている現在のコードは正確に動作し、動作します。それを職場で見るためにプレイグラウンドに貼り付けることは可能です。
私の質問は同じ結果を得るためのより良いSwift3方法はありますか?コードは動作しますが、変数iは必要ありません。 Swift3はクロージャのような構造化されたコードを可能にし、私はそれらをより良く使う方法を見逃しています。私には、現時点で手の届かない、より良い構造があるようです。
import UIKit
let repTime = 20 //seconds
let restTime = 10 //seconds
let woDuration = 3 //minutes
let totalWOTime = woDuration * 60
let sessionTime = repTime + restTime
let totalSessions = totalWOTime/sessionTime
let availableExercises = ["push up","deep squat","burpee","HHSA plank"]
var sequence = [String]()
var i = 0
while sequence.count < totalSessions {
if i < availableExercises.count {
sequence.append(availableExercises[i])
i += 1
}
else { i = 0 }
}
sequence
Thxたくさん!これはまさに私が考えていたものです。機能的なプログラミングスタイルの構造:)私はこのような考え方で多くの問題を抱えてきました...私は閉鎖にかなり新しいです。 –