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?!![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)

