Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 27 2017 06:35

    zhanglan on master

    测试2 (compare)

  • May 27 2017 06:17

    zhanglan on master

    Update 状态模式.txt (compare)

  • May 27 2017 01:14

    zhanglan on master

    测试 (compare)

  • May 26 2017 08:31

    zhanglan on master

    Update 状态模式.txt (compare)

  • May 26 2017 03:40

    zhanglan on master

    Update 状态模式.txt (compare)

  • May 26 2017 03:33

    zhanglan on master

    Update 状态模式.txt (compare)

  • May 23 2017 00:23

    zhanglan on master

    测试 (compare)

张岚
@zhanglan
zhanglan/DesignPattern@f7dd620
张岚
@zhanglan
1111
#1111
sss
#11111
To be or not to be, that is a question.

qqqqq

qqqqq

qqq

qqq

qqq

qqq
qqq
  • 第一,...
  • 第二,...
  • 第三,...
1.打开冰箱
2.把大象放进去
3.关上冰箱
张岚
@zhanglan
月份 收入 支出
8 1000 500
 var a = 0;
 var b = 1;
 var c = a + b;

11111111
1111111

2222222222

张岚
@zhanglan
https://avatars0.githubusercontent.com/jialj?v=3&s=60

这是一个h1标签

这是一个h2标签

。。。
这是一个h6标签
张岚
@zhanglan
这是一个引用内容
加粗
斜体
加粗
斜体
混合使用混合使用
加粗
斜体
混合使用混合使用混合使用
删除内容
张岚
@zhanglan
  • 第一,...
  • 第二,...
  • 第三,...
  • 首先,...
  • 其次,...
  • 最后,...
  • 第一,...
  • 第二,...
  • 第三,...
  • 首先,...
  • 其次,...
  • 最后,...
月份(居中对齐) 收入(右对齐) 支出(左对齐)
8 1000 500
9 1200 600
10 1400 650
张岚
@zhanglan
这是一个行内代码‘document.getElementById’
这是一个行内代码’document.getElementById’
这是一个行内代码'document.getElementById'
这是一个行内代码document.getElementById
这是一个行内代码document.getElementById
这是一个多行代码
var a = 0;
var b = 1;
var c = a+b;
张岚
@zhanglan
这是一个图片
@zhanglan

1、h1-h6标签

这是一个h1标签

这是一个h2标签

。。。

这是一个h6标签

2、引用内容

这是一个引用内容
3、加粗和斜体
加粗
斜体
混合使用混合使用混合使用
4、删除线
删除线内容
5、超链接
新商盟
6、列表

  • 第一,...
  • 第二,...
  • 第三,...
  • 首先,...
  • 其次,...
  • 最后,...
    7、表格
    月份(居中对齐)|收入(右对齐)|支出(左对齐)
    :--------------:|-------------:|:------------
    8 |1000 |500
    9 |1200 |600
    10 |1400 |650
    8、代码
    这是一个行内代码document.getElementById
    这是一个多行代码
    var a = 0;
    var b = 1;
    var c = a+b;
    9、图片
月份(居中对齐) 收入(右对齐) 支出(左对齐)
8 1000 500
9 1200 600
10 1400 650
张岚
@zhanglan
3333
张岚
@zhanglan
4444
clb294
@clb294
```scala
```scala trait Migration[A, B] {
def apply(a: A): B
}
implicit class MigrationOpsA {
def migrateToB: B =
migration.apply(a)
}
  implicit def genericMigration[
  A, B,
  ARepr <: HList, BRepr <: HList,
  Unaligned <: HList
  ](
     implicit
     aGen    : LabelledGeneric.Aux[A, ARepr],
     bGen    : LabelledGeneric.Aux[B, BRepr],
     inter   : hlist.Intersection.Aux[ARepr, BRepr, Unaligned],
     align   : hlist.Align[Unaligned, BRepr]
   ): Migration[A, B] = new Migration[A, B] {
    def apply(a: A): B =
      bGen.from(align.apply(inter.apply(aGen.to(a))))
  }


  def personToRdf[Q, T , Repr <: HList](t: T, ng: URI, subj: Resource)(implicit gen: LabelledGeneric.Aux[T, Repr],
                                                                    f1: Perhaps[rSelector.Aux[Repr, nameW.T, String]],
                                                                    f2: Perhaps[rSelector.Aux[Repr, age, Int]],
                                                                    f3: Perhaps[rSelector.Aux[Repr, friends, Iterable[Q]]]): Iterable[Statement] = {

    val _gen = gen.to(t)
    val friendStmts = f3.fold[Iterable[Statement]]{
      Seq[Statement]()
    } { implicit e =>

      e(_gen).flatMap{ _p: Q =>
        val p = _p.migrateTo[Person]
        personToRdf(p, p.g, p.s) ++
        RdfPropertyVal(FriendsProperty, p.s).apply(ng, subj)
      }
    }
    val ageStmts = f2.fold[Iterable[Statement]]{
      Seq[Statement]()
    }{implicit  e =>
      RdfPropertyVal(AgeProperty, e(_gen)).apply(ng, subj)
    }

    val nameStmts = f1.fold[Iterable[Statement]]{
      Seq[Statement]()
    }{implicit  e =>
      RdfPropertyVal(NameProperty, e(_gen)).apply(ng, subj)
    }

    friendStmts ++
    nameStmts ++
    ageStmts ++
    PersonType.apply(ng, subj)
  }```
  trait Migration[A, B] {
        def apply(a: A): B
      }
      implicit class MigrationOps[A](a: A) {
        def migrateTo[B](implicit migration: Migration[A, B]): B =
          migration.apply(a)
      }

      implicit def genericMigration[
      A, B,
      ARepr <: HList, BRepr <: HList,
      Unaligned <: HList
      ](
         implicit
         aGen    : LabelledGeneric.Aux[A, ARepr],
         bGen    : LabelledGeneric.Aux[B, BRepr],
         inter   : hlist.Intersection.Aux[ARepr, BRepr, Unaligned],
         align   : hlist.Align[Unaligned, BRepr]
       ): Migration[A, B] = new Migration[A, B] {
        def apply(a: A): B =
          bGen.from(align.apply(inter.apply(aGen.to(a))))
      }


      def personToRdf[Q, T , Repr <: HList](t: T, ng: URI, subj: Resource)(implicit gen: LabelledGeneric.Aux[T, Repr],
                                                                        f1: Perhaps[rSelector.Aux[Repr, nameW.T, String]],
                                                                        f2: Perhaps[rSelector.Aux[Repr, age, Int]],
                                                                        f3: Perhaps[rSelector.Aux[Repr, friends, Iterable[Q]]]): Iterable[Statement] = {

        val _gen = gen.to(t)
        val friendStmts = f3.fold[Iterable[Statement]]{
          Seq[Statement]()
        } { implicit e =>

          e(_gen).flatMap{ _p: Q =>
            val p = _p.migrateTo[Person]
            personToRdf(p, p.g, p.s) ++
            RdfPropertyVal(FriendsProperty, p.s).apply(ng, subj)
          }
        }
        val ageStmts = f2.fold[Iterable[Statement]]{
          Seq[Statement]()
        }{implicit  e =>
          RdfPropertyVal(AgeProperty, e(_gen)).apply(ng, subj)
        }

        val nameStmts = f1.fold[Iterable[Statement]]{
          Seq[Statement]()
        }{implicit  e =>
          RdfPropertyVal(NameProperty, e(_gen)).apply(ng, subj)
        }

        friendStmts ++
        nameStmts ++
        ageStmts ++
        PersonType.apply(ng, subj)
      }
```
```scala
```scala trait Migration[A, B] {
def apply(a: A): B
}
implicit class MigrationOpsA {
def migrateToB: B =
migration.apply(a)
}
  implicit def genericMigration[
  A, B,
  ARepr <: HList, BRepr <: HList,
  Unaligned <: HList
  ](
     implicit
     aGen    : LabelledGeneric.Aux[A, ARepr],
     bGen    : LabelledGeneric.Aux[B, BRepr],
     inter   : hlist.Intersection.Aux[ARepr, BRepr, Unaligned],
     align   : hlist.Align[Unaligned, BRepr]
   ): Migration[A, B] = new Migration[A, B] {
    def apply(a: A): B =
      bGen.from(align.apply(inter.apply(aGen.to(a))))
  }


  def personToRdf[Q, T , Repr <: HList](t: T, ng: URI, subj: Resource)(implicit gen: LabelledGeneric.Aux[T, Repr],
                                                                    f1: Perhaps[rSelector.Aux[Repr, nameW.T, String]],
                                                                    f2: Perhaps[rSelector.Aux[Repr, age, Int]],
                                                                    f3: Perhaps[rSelector.Aux[Repr, friends, Iterable[Q]]]): Iterable[Statement] = {

    val _gen = gen.to(t)
    val friendStmts = f3.fold[Iterable[Statement]]{
      Seq[Statement]()
    } { implicit e =>

      e(_gen).flatMap{ _p: Q =>
        val p = _p.migrateTo[Person]
        personToRdf(p, p.g, p.s) ++
        RdfPropertyVal(FriendsProperty, p.s).apply(ng, subj)
      }
    }
    val ageStmts = f2.fold[Iterable[Statement]]{
      Seq[Statement]()
    }{implicit  e =>
      RdfPropertyVal(AgeProperty, e(_gen)).apply(ng, subj)
    }

    val nameStmts = f1.fold[Iterable[Statement]]{
      Seq[Statement]()
    }{implicit  e =>
      RdfPropertyVal(NameProperty, e(_gen)).apply(ng, subj)
    }

    friendStmts ++
    nameStmts ++
    ageStmts ++
    PersonType.apply(ng, subj)
  }```
corentin
@corenti13711539_twitter
zzz