jiyugaoka:Swift #0

わからないことを共有する勉強会。jiyugaoka:Swift? #0 についてまとめました。
2
熊谷 友宏 @es_kumagai

本当だ、わざわざ構造体作らなくてタプルを使う方法もある気がしてきた。 gist.github.com/081f0374786b12… #gaokaswift #swift pic.twitter.com/gsp8nP6sZI

2015-12-05 15:13:24
拡大
haranicle @haranicle

swiftの引数はtupleと考えて良さそう #gaokaswift

2015-12-05 15:25:07
haranicle @haranicle

1も"1"もnilもリテラル。これだけでは型が決まらない。 #gaokaswift

2015-12-05 15:36:27
haranicle @haranicle

isとasはセット。as!,as?は実際に行動を起こす。isは行動を起こせるか判定するものというイメージ。isは中身の値を見るもの。 #gaokaswift

2015-12-05 15:41:14
haranicle @haranicle

enum Hoge { case `case`(Int) } Hoge.`case`(1) みたいに予約後もつかえちゃう #gaokaswift

2015-12-05 17:13:24
熊谷 友宏 @es_kumagai

いろいろ落ち着きました。個人的にはとことん楽しませて頂いた心地。 #gaokaswift

2015-12-05 20:29:15
ezura @eduraaa

言語仕様の深い部分で遊べてとても幸せな感じでした。ありがとうございました(*´∀`) #gaokaswift

2015-12-05 20:35:12
M @mitsuru_nakada

Xcodeで暗い背景にした時にカーソルが見えない問題の解決方法です github.com/egold/better-x… #gaokaswift

2015-12-05 20:37:25
熊谷 友宏 @es_kumagai

でもそうだ、記憶の中の話ですけど、タプルは extension できなかった気がしてきました。やっぱり即席戻り値みたいな用途は良いかもですけど、手軽に書きたいからだけで使うと、コード内での使用がそうとう制限されそう。 #gaokaswift

2015-12-05 20:38:39
haranicle @haranicle

今までに無い、スタイルの勉強会でどうなるか不安だったけど、僕は楽しめる会でした!会場代が高くて、赤字なのが今後の課題… #gaokaswift

2015-12-05 20:53:29
熊谷 友宏 @es_kumagai

今日に挙がった共用体のお話も、ベースは今日の列挙型に、それが値に注目するならですけど NSNumber みたいな値を取り出すプロパティを備えてみたり、可能であればその役目から適切なプロトコルを当ててみたりしても面白いかもしれない。 #gaokaswift

2015-12-05 20:54:05
熊谷 友宏 @es_kumagai

あとはリテラルが型とけっこう混同されがちという発見があった。リテラルとはどれかを挙げてみたり NilLiteralConvertible などについてみたり実際に使ってみたりすると、新しい発見があって楽しいかもしれない。 #gaokaswift

2015-12-05 20:57:10
熊谷 友宏 @es_kumagai

そんな感じでとっても話し足りない。笑 #gaokaswift

2015-12-05 20:58:46
熊谷 友宏 @es_kumagai

1 は整数リテラル、true は真偽値リテラル、nil は nil リテラル、"" は文字列リテラル、[] は配列リテラル、[:] は辞書型リテラル、1.0 は小数点数リテラル。どれもこの段階では「型」がない。 #gaokaswift

2015-12-05 21:11:21
haranicle @haranicle

勉強会カイゼンのため、アンケートご回答をおねがいします。 #gaokaswift goo.gl/forms/FRpGWuxs…

2015-12-05 21:14:06
熊谷 友宏 @es_kumagai

リテラルに型を指定すると、その型がそのリテラルを受け入れられる場合、その型のイニシャライザがリテラルを値で受け取って適切なインスタンスを作る感じ。 #gaokaswift

2015-12-05 21:21:56
熊谷 友宏 @es_kumagai

たとえば Int16 型に整数リテラル 0 を渡したら、Int16 型のイニシャライザはそれを受けて 16 ビット整数でいう 0 を持つインスタンスを作るイメージ #gaokaswift

2015-12-05 21:24:18
ezura @eduraaa

今日の勉強会でいろいろ試したコードです。みなさん、ありがとうございました。 gist.github.com/ezura/68e3370a… #gaokaswift

2015-12-05 23:51:50
熊谷 友宏 @es_kumagai

あとリテラルは型が明記されないと、特定の型とみなすルールを持つのもあって、整数リテラルは Int 型、小数点数リテラルは Double 型、真偽値リテラルは Bool 型、配列リテラルは Array 型、辞書リテラルは Dictionary 型とみなします #gaokaswift

2015-12-06 00:01:09
熊谷 友宏 @es_kumagai

せっかくなのでもう1つ。型がそのリテラルを受け入れられるかを決定するのが StringLiteralConvertible などのなんとかリテラルコンバーティブルです。自分で作った型もこれらのプロトコルを適用することで受け入れられるリテラルを表明できます。 #gaokaswift

2015-12-06 00:32:23