Nov. 26th, 2013
зря хитрил
Nov. 26th, 2013 01:34 pmВот у меня есть таблица
По-нормальному был бы набор
Но мне позарез надо было проперти привязать к фичам, и я исхитрился парсить это как
Карриинг данных типа. Потому что мне нужны свойства сепульки.
Ну и хреново; другая таблица выглядит точно так же, но мне нужен просто список пропертей как наверху.
Так вот; я ошибался. Надо было сразу брать как правильно, и не валять дурака. Не выдумывать карринг для превращения данных в ключи. Лучше поиск устроить по фичам.
Что характерно, в процессе выяснил, что мне и не нужен никакой карринг.
Эх.
Обработка данных.
Feature | Price | Date |
---|---|---|
Sepulka | $3.62 | 9/11/2011 |
Tardis | $4.12 | 11/25/1961 |
По-нормальному был бы набор
[{"Feature":"Sepulka", "Price":...},{"Feature":"Tardis", "Price":...}]
Но мне позарез надо было проперти привязать к фичам, и я исхитрился парсить это как
{"Sepulka":{"Price":...}, "Tardis":{"Price":...}}
Карриинг данных типа. Потому что мне нужны свойства сепульки.
Ну и хреново; другая таблица выглядит точно так же, но мне нужен просто список пропертей как наверху.
Так вот; я ошибался. Надо было сразу брать как правильно, и не валять дурака. Не выдумывать карринг для превращения данных в ключи. Лучше поиск устроить по фичам.
Что характерно, в процессе выяснил, что мне и не нужен никакой карринг.
Эх.
Обработка данных.
https://gist.github.com/retronym/1395578
case class Reader[E, A](run: E => A) { def map[B](f: A => B) = Reader[E, B](s => f(run(s))) def flatMap[B](f: A => Reader[E, B]) = Reader[E, B](s => f(run(s)).run(s)) } implicit def CR[E, A](run: E => A) = Reader(run) // convenience type alias. type StringReader[A] = Reader[String, A]
Reader.flatMap
- is it S combinator?!