配列をprintする際に、ある要素数で改行して表示するやり方がわかりません。
swift
1let a = [0,2,3,1,2,3,2,5,26,23,...]
という配列を3個刻みで改行して
0,2,3,
1,2,3,
2,5,26,
23,...
のようにprintすることは可能でしょうか?
インターネットで調べたのですが、配列そのものを分割したり、ある要素を削除したりなどしか発見できなかったので質問させていただきました。
「23,...」の部分は「ある程度以上の要素は省略する」という意味ではなく、以下同様という意味ですか?
以下同様という意味です。
print(a)と書くのではなく、要素を一つずつ表示するコードは書けますか?
a[0]のようなものをfor文で繰り返しでしょうか?
そうです。ひとまず改行のことは置いておいて全ての要素を表示できますか?
for array in a { print(array) } だと考えます。
3個刻みにするなら「今何番目の要素を処理しているか」という情報が必要になりますが、その方法だと要素番号が取得できませんよね?要素番号を取得できるような方法で書けますか?
a.countを使えばいいのでしょうか?すみません、ここからよくわかりません;
a.countはループの上限値に使います。for文で、例えば0から10までカウント出来ますか?(回答付いているので、これ以上のやりとりが不要なら打ち切って下さい)
余計なおせっかいですが・・・質問者さんの場合for文による方法を学ぶのがよい印象があります。MasakiHoriさんの解法は鮮やかなのですが、その分理解するためには前提知識が多くなると思います。
割り込んでしまって、失礼しました~
for b in 0...10 ということでしょうか?
「でしょうか?」ではなく、print文を入れて自分で確認して下さい。で、上限値にはa.countを使って、要素の数だけループを回せますよね?
はい。0...a.countで回せました。
えーと、0...a.countだと最後がハミ出してしまいますよね?例えば、要素が10個なら0〜9にならないといけませんが、0〜10になりますよね?これは 0..<a.count にして下さい。で、要素番号で配列の要素にアクセスする方法は分かりますか?それが分かれば、ひとまずforループで全要素を表示できると思いますが。
for array in a[0..<a.count]でできました。
いや‥それだと要素番号を取れないですよね?
for (number,value) in a.enumerated() {
質問の意図を汲みきれず、申し訳ありません。これで要素番号と要素を抽出出来ました
そのやり方でも間違いではないのですが、私が長々と書いてきたことが全て無駄になってるんですよね。ということでおしまい。
これほど丁寧に解説いただいにも関わらず、申し訳ありません。
回答2件
あなたの回答
tips
プレビュー