わかめモナ化のLTのネタ作り
次は [("user","2120574189"),("date","20121107")] を ("2120574189", "20121107") に変える簡単なお仕事。
2012-11-16 20:07:17@vvakame xs::[Maybe a] なら ys = xs >>= \x -> case x of Just y -> [y] Nothing -> [] でいけます
2012-11-16 20:56:05@NaOHaq でたなアロー演算子…!!言われてみるとなるほどです!!!これ自分で思いつくのはなかなか修行が必要ですね…
2012-11-16 20:59:21NaoHaqさんの教えを見ると、MaybeもListもMonadなので確かにそうできるな…!!と思うけど自分で思いつくには経験値が足りない。しばらく人のコード読み漁ればできるようになる気もするけど。
2012-11-16 21:00:33https://t.co/zF2LyJeI でexecStatementの結果が SQLiteResult a => [[Row a]] になる理由がわかった。 http://t.co/SpYnYwIL みると、SQL文を1つずつ切り出して実行してその結果をリストにつないでる
2012-11-16 21:02:31http://t.co/SpYnYwIL のexecParamStatement関数で sqlite3_prepare http://t.co/rc9tFRgc でSQL文を1つコンパイルしては実行、を文がなくなるまで繰り返して、結果を全部リストでつないでる
2012-11-16 21:05:33SQLiteに入ってるアクセスログから日別のユニークアクセス数をカウントして表示するプログラム書けた。所要時間3時間!!
2012-11-16 21:08:18同じ事するSQL書いたら8秒だった。 select date, count(*) from retention_rate group by date カナシス。
2012-11-16 21:09:20@vvakame とりあえず理由がわかりました。 https://t.co/XSmsgCrJ https://t.co/QGJT06cs / c.f. http://t.co/jXhkhdJg
2012-11-16 21:19:29@NaOHaq なるほど!!複数のSQL文を同時に投げても良きに計らってやんぜ…!!ってことですか!!ありがとうございます!! Hackage ってソースコードも見られるんですね…
2012-11-16 21:21:04@vvakame セミコロンで区切られた複数のSQL文("select ~ where ~; select ~ where ~;" みたいな)を渡すと、それぞれの結果(のリスト)がリストになってつながって返ってくるようです
2012-11-16 21:22:04