小编Iva*_*iuc的帖子

scala图中的确定性拓扑顺序

我正在使用scala-graph库来构建方向图并以拓扑顺序检索其节点.由于图的拓扑顺序可能存在许多可能性,因此我需要对于相同且以相同方式构建的图的拓扑顺序具有确定性结果.

这个小应用程序突出了这个问题

import scalax.collection.Graph
import scalax.collection.GraphEdge.DiEdge
import scalax.collection.GraphPredef._

object MainApp extends App {

  // Creates new graph for every call
  // val is not an option
  def graph: Graph[String, DiEdge] = Graph(
    "A" ~> "B",
    "A" ~> "C",
    "A" ~> "D",
    "B" ~> "E",
    "B" ~> "F",
    "C" ~> "G",
    "C" ~> "H",
    "D" ~> "F",
    "D" ~> "G"
  )

  val results = 1 to 20 map { _ =>
    graph.topologicalSort.mkString("")
  }

  println(results.tail.forall(_ == results.head))
}
Run Code Online (Sandbox Code Playgroud)

这个应用程序打印错误

有没有办法使用scala-graph库的api构建确定性的拓扑排序图?从头开始编写算法将是我的最后选择.

sorting scala graph-algorithm

7
推荐指数
1
解决办法
591
查看次数

Slick.js 错误:无法读取 null 的属性(读取“add”)

我正在使用 Laravel 5.8 和 Slick.js 为我的在线商店显示幻灯片,我编写了以下代码:

Slick.prototype.initADA = function() {
        var _ = this,
                numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
                tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
                    return (val >= 0) && (val < _.slideCount);
                });

        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
            'aria-hidden': 'true',
            'tabindex': '-1'
        }).find('a, input, button, select').attr({
            'tabindex': '-1'
        });

        if (_.$dots !== null) {
            _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
                var slideControlIndex = tabControlIndexes.indexOf(i);

                $(this).attr({
                    'role': 'tabpanel',
                    'id': 'slick-slide' + _.instanceUid + i,
                    'tabindex': -1
                });

                if (slideControlIndex !== -1) {
                   var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex …
Run Code Online (Sandbox Code Playgroud)

javascript jquery laravel slick.js

6
推荐指数
0
解决办法
3596
查看次数

使用不同选项的 akka 流物化值

我是 akka 流的新手,想了解流中的物化是如何工作的

//Print sum of elements from 1 to 10
val newSource = Source(1 to 10)
val flow      = Flow[Int].fold(0)((a, b) => a + b)
val sink      = Sink.foreach(println)
val sumFuture = newSource.via(flow).toMat(sink)(Keep.left).run()
Run Code Online (Sandbox Code Playgroud)

55它使用Keep.left和打印值Keep.right。两者有何不同?

我想探索Keep.leftKeep.right赋予不同的价值以及我们如何使用Keep.both

scala akka akka-stream

2
推荐指数
1
解决办法
736
查看次数