やってみたらなんとかなる

プログラミングをする上で調べたこととかやったこととか

このブログについて-初めての記事-

初めての記事

タイトル詐欺です。この記事は二本目です。ブログの記事って数える単位は本であってるんですかね。

概要

このブログでは、僕がプログラミングをしてる時にハマった罠とか疑問とかを調べた時に僕がもう二度と調べなくていいように他の人が同じところでつまずいた時の手助けになるようにまとめてる、といった感じです。

ここでの記事が誰かの助けになってると嬉しいと思って書いてます。

書いてる人について

ブログは書いたことがないです。このブログが初めてのブログ。

僕は大学生です。理系です。英語は少し読めます。全然自慢できない程度に読めます。

好きなものはゲームとギターです。最近はDark Soulsにハマってます。その前はBlood borne、Ghost Of Tsushimaにハマってました。ついこの間Tsushimaのアップデートが来てたのでまたやろうかと思ってます。Tsushimaって書き方なんかかっこいいですね。

まとめ

ブログの概要って何書けばいいか全然分からなかった

読んでくれる人はとても優しいと思います。ありがとうございます。

[Swift]ForEachでIndexを使用する方法

概要

SwiftのForEachでListの中身をぶん回してる時にIndexが欲しくなったので、使い方を調べた。その忘備録。

どうなったのか

array.enumerated().forEach( { ( index, item ) in 
   〜行いたい処理
     インデックスはindex
     中身はitem〜
} )

こんな感じにするとうまくいくらしいです。あと比較的コードが読みやすかった。

どうゆう仕組みなの

私が聞きたい



ので、色々と調べてみました

とりあえず引っかかるのが enumerated()って何??? というところだと思います。

分からないことはとりあえず公式に聞いてみよう精神で Apple Developer Documentation ←ここを読んでみました。

とりあえずは「連続した要素から、要素xと連続した数字nで連続したペア(n, x)を作ってくれる」みたいです。

ここで注意したて欲しいのがnは別に各要素のIndexではないみたいです。ただ単に0から始まる連続した数字なだけみたいです。

なので、ArrayやContiguousArrayのような0から始まる整数のIndexを使ってるCollectionでのみIndexとして使えるみたいです。

Collectionの要素とIndexを反復して使いたい場合はzip(_:_:)を使ってねって書いてありました。僕の英語スキルと技術レベルが低すぎて何をいってるのかよくわかりませんすみません。とりあえず( ; _ ; )に見えてます。

とりあえず、enumerated()では「要素のArrayを(整数, 要素)のArrayに変換してる」って感じっぽいですね。それで、整数は要素が変わるごとに1増えてくみたいな。

つまり、今回のコードでは、「arrayの中身をenumerated()で(整数, 要素)に変換して、その整数をIndexとして扱っている」ってことみたいです。

どこを調べた

Getting the index in ForEach | Apple Developer Forums←ここに書いてあった。

いろいろな人がいろいろな方法を提案していました。読んでみるといいかもです。

まとめ

Swiftむずかしい

1. 分からない
2. 調べる
3. 分からないが増える ←イマココ