アジェンダ
- HListについて
- Genericについて
/** | |
* Parse query string. | |
* ?a=b&c=d to {a: b, c: d} | |
* @param {String} (option) queryString | |
* @return {Object} query params | |
*/ | |
getQueryParams: function(queryString) { | |
var query = (queryString || window.location.search).substring(1); // delete ? | |
if (!query) { | |
return false; |
object Main extends App { | |
val a = (1 to 1000000) | |
// map2個 | |
println("map2個-------------") | |
util.b { a.map(_+1).map(_+1) }.map(println) | |
util.b { a.map(_+1).map(_+1) }.map(println) | |
util.b { a.view.map(_+1).map(_+1).force }.map(println) | |
util.b { a.view.map(_+1).map(_+1).force }.map(println) |
object Main { | |
def main(args: Array[String]) { | |
val l = Seq(3,1,5,3,2) | |
val range = l.max + 1 | |
println(countingSort(l, range)) | |
println(bucketSort(l, range)) | |
sleepSort(l) | |
} | |
// 数え上げソート |
import scala.annotation.tailrec | |
object Main { | |
def main(args: Array[String]) { | |
println("prim") | |
prim(sampleGraph).sortBy(_.weight).foreach(println) | |
println("kruskal") | |
kruskal(sampleGraph).sortBy(_.weight).foreach(println) | |
} |
// 複数スレッドで++していくとスレッドセーフでないので値がおかしくなる | |
var a = 0 | |
(0 until 10000).par.foreach { _ => a += 1 } | |
println(a) // 6772 | |
// synchronizedを使っても可。 | |
var b = 0 | |
(0 until 10000).par.foreach { _ => synchronized { b += 1 } } | |
println(b) // 10000 |
import scala.annotation.tailrec | |
object Main { | |
def main(args: Array[String]) { | |
prim(sampleGraph).foreach(println) | |
} | |
// 参考 : http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AA%E3%83%A0%E6%B3%95 | |
// 例のグラフもwikipediaのものと同じに。 | |
def prim(g :Graph): Seq[Edge] = { |
import scala.annotation.tailrec | |
object Main { | |
def main(args: Array[String]) { | |
val s = 3 | |
val m = Vector.fill(s, s)(0) | |
val r = floid(makeData(m)) | |
printMatrix(r) | |
} |
import scala.annotation.tailrec | |
object Main { | |
def main(args: Array[String]) { | |
bellmanFord(sampleGraph, Vertex("C")) | |
.toSeq.sortBy(_._2).map(println) | |
} | |
def bellmanFord(graph: Graph, start: Vertex): ShortestPath = { |
import scala.annotation.tailrec | |
/* | |
[C] >2 [A] >2 [E] | |
\ >1 [D] | |
\ >1 | |
\ \ | |
>1 [B] >6 [F] | |
C>A>F が最短 |