Swift 言語 ForwardIndexType を探る旅

Swift 言語の ForwardIndexType と、ひいては Indexable の性質を探っていた時のツイートをまとめました。自分自身のツイートと合わせて、とても勉強になったツイートもまとめさせて頂きました。
1
前へ 1 2 ・・ 6 次へ
熊谷 友宏 @es_kumagai

たしかに last の次に last を返すの、それによって矛盾するのは Indexable の概念だけですね。ForwardIndexType の世界観は原則問題なし。 gist.github.com/7a0e1628388256… #swift pic.twitter.com/7zJ5Ct7Oew

2016-05-02 22:21:16
拡大
熊谷 友宏 @es_kumagai

原則って言いましたけど、全くと言ってもいいかもしれない。別に同じ値が流れの中に出てきてはいけない決まりはないし、必ず(いわゆる)先頭へ循環しないといけない決まりはなくて。距離というのは単純に、今いる位置から流れる方へどれくらい進むと到達するか、ただそれだけね。

2016-05-02 22:23:14
熊谷 友宏 @es_kumagai

そして『最後が同じ値の連続』であったとしても、それは単に同じ値が次の流れに出てきただけ。すごく自然なこと。

2016-05-02 22:24:48
熊谷 友宏 @es_kumagai

大事なのは『そういう流れ』というところ。流れ的に正しくなければ、つまり流れがそこで終わりを迎えるのなら fatalError が正しいこと。

2016-05-02 22:25:54
熊谷 友宏 @es_kumagai

たぶんこれが、流れ的な概念はあって位置的な概念がないという仮説の表れなのだと思う。SequenceType では同じ位置が次には登場できないけど ForwardIndexType の流れなら全く同じ Identity が先の流れに普通に在れる。うまく言い表せてない気がするけれど。

2016-05-02 22:30:43
熊谷 友宏 @es_kumagai

ForwardIndexType、掌握した 💪🏻

2016-05-02 22:31:58
熊谷 友宏 @es_kumagai

いけない、これはなかなか興奮した。掌握しきったつもりでいるけど、自分では気づかない矛盾があるかもわからないので、信頼筋にしっかり評価してもらえたら嬉しい気持ち。

2016-05-02 22:42:27
熊谷 友宏 @es_kumagai

まあとにかく、気になって仕方がなかった疑問が解けて、やっと他の日常のことに手をつけられるということですよ。やるべきことがひたすら溜まっている … ( ´ △ ` )

2016-05-02 22:44:36
熊谷 友宏 @es_kumagai

解決したらしたで今度はうっとり回想に耽ってしまって進まない ( ´ △ ` )

2016-05-02 23:01:40
熊谷 友宏 @es_kumagai

なるほど、それで DictionaryIndex は endIndex を突破して先へ進んでいくのねーとか、それであまり fatalError を見かけないのねーとか、successor でエラーが想定されてないのねーとか。

2016-05-02 23:09:18
熊谷 友宏 @es_kumagai

ほんとに単に索引という性質を表現するためだけの、原始的なところにある概念なんだなぁ、とか。

2016-05-02 23:11:26
熊谷 友宏 @es_kumagai

というか、自分自身がいちばん喜んでるのか。なんか山の頂上まで無心で登った心地。それがどんな小山であっても、やっぱり頂上の眺めは良いな。

2016-05-02 23:23:45
熊谷 友宏 @es_kumagai

どんな山でも、同じ山でも別の山でも、同じ気持ちで一緒に登れる人たちと共にありたい心地。そのためにも自分も登り続けないといけないなって感じるこの頃。

2016-05-02 23:28:44
熊谷 友宏 @es_kumagai

みんな、すごいですよね。

2016-05-02 23:29:00

そんな折、横浜みなとみらいを歩いていると

熊谷 友宏 @es_kumagai

これは…! ForwardIndexType か!! pic.twitter.com/4K1SaTmR6z

2016-05-03 20:17:55
拡大
熊谷 友宏 @es_kumagai

いや、単なる SequenceType かもしれない。

2016-05-03 20:19:11

そして興味深いやり取りを拝見

素晴らしさを感じたけれど、しかし後に振り返れば、ここに込められた真の凄さを汲み取る力は、その日の自分にはまだなかった様子。

Kentarou Kanno @_KentarOu

これはtrue...すでに先頭に戻ってる感じ? pic.twitter.com/lZYKiwcd43

2016-05-05 09:41:55
拡大
Kentarou Kanno @_KentarOu

書き方間違ってるかなぁ。なぜこうなるのか説明できないので、分かってない(´;ω;`)ウッ…

2016-05-05 09:46:40
ezura @eduraaa

.@_KentarOu この場合、contains を呼ぶと successor() を利用することで範囲内かどうかを判定します gist.github.com/1e53f9b796596f… #swift pic.twitter.com/DBPBbPtQhL

2016-05-05 10:12:23
拡大
ezura @eduraaa

Week.Sunday から . Sunday に戻さない場合、無限に successor が呼ばれます。この条件下でその範囲を作ることはプログラマのミスかなと。。 gist.github.com/451f5ba4fde82b… #swift pic.twitter.com/fTSEN8yNVJ

2016-05-05 10:18:19
拡大
ezura @eduraaa

↑ あ、Week.Saturday から . Sunday ですね。。 (´・ω・`) #swift

2016-05-05 10:20:45
前へ 1 2 ・・ 6 次へ