如何从现有的本地克隆仓库提交拉取请求?
通常,我想从github查看一些库源代码,所以我克隆它.后来,我发现了代码的一些问题,并在邮件列表中提出,经常是顺便提一下.图书馆作者说"很好找,你能发送拉动请求吗?".
答案是"不那么容易".我还没分叉回购,我克隆了它.似乎没有办法从克隆的回购中提交拉取请求?
如果这个限制是真的,感觉就像是明智的反应就是把你所看到的任何东西和所有东西分开,只要这样你就可以想要做出贡献.这填补了许多非活动分叉的github帐户.
似乎没有多少关于这个问题的讨论 - 我是这个问题影响的唯一人吗?
请提供一个代码示例,说明如何以编程方式创建嵌入式Scala REPL解释器,该解释器适用于Scala 2.10.(我花了几个小时梳理各种代码片段以获得一个有效的口译员后,我添加了这个问答)
如果我想在Spark DataSet列中存储代数数据类型(ADT)(即Scala密封特征层次结构),那么最佳编码策略是什么?
例如,如果我有一个ADT,其中叶子类型存储不同类型的数据:
sealed trait Occupation
case object SoftwareEngineer extends Occupation
case class Wizard(level: Int) extends Occupation
case class Other(description: String) extends Occupation
Run Code Online (Sandbox Code Playgroud)
什么是构建一个最好的方法:
org.apache.spark.sql.DataSet[Occupation]
Run Code Online (Sandbox Code Playgroud) scala apache-spark apache-spark-dataset apache-spark-encoders
我见过的Scala中Iteratee模式的3个描述包括3个输入案例.例如,詹姆斯:
sealed trait Input[+E]
object Input {
case object EOF extends Input[Nothing]
case object Empty extends Input[Nothing]
case class El[+E](e: E) extends Input[E]
}
Run Code Online (Sandbox Code Playgroud)
我的问题很简单:为什么恰恰是空输入情况下需要的?
iteratee模式定义了生产者和价值流的消费者之间的关系.直观地说,似乎如果任何输入为空,那么"运行"iteratee的生产者应该简单地将该空项目折叠掉,并且在非空输入可用之前不调用iteratee.
我注意到迭代器的基于拉的模拟,更常见的迭代器,没有定义一个空的情况,尽管元素可能已经在迭代器"内部"被过滤掉了.
trait Iterator[E] {
next: E // like El
hasNext: Boolean //like EOF
}
Run Code Online (Sandbox Code Playgroud)
虽然上述所有博客都提到需要传递空输入,但他们没有明确讨论为什么它不能完全消除.我注意到显示的示例迭代器将空输入视为无操作.
我真的很喜欢一个带有代码的例子,它有一个看似合理的"真实世界"问题,需要空输入消息来解决.
在SBT中声明托管库依赖项很容易,例如
libraryDependencies ++= Seq(
"org.specs2" %% "specs2" % "1.12.2" % "test" ,
"junit" % "junit" % "4.7" % "test"
)
Run Code Online (Sandbox Code Playgroud)
虽然在SBT中声明项目依赖关系并不容易,但我也可以这样做:
object RichMath extends Build {
lazy val myApp = Project("RichMath", file(".")) dependsOn(richUtil)
lazy val richUtil = RootProject(file("../RichUtil"))
}
Run Code Online (Sandbox Code Playgroud)
但实际上,我通常希望在上游项目中立即可见变更的项目模式和库模式之间进行更改,我必须发布更改以在相关项目中查看它们,因为代码会成熟.
在代码库的早期阶段,或者每当我想要跨模块进行频繁更改时,我不希望重新发布的麻烦只是为了看到上游的变化.但是在稳定/成熟的代码中,我想确切地说明我依赖的版本.
似乎SBT将这两个依赖关系视为完全不同.是否有更直接的方式在项目和库依赖项之间切换而不是重写我的构建定义?
我试图了解Haskell的Data.Collection
图书馆的设计,来自Scala识字的背景.
它使用功能依赖(具有Scala模拟),但它们的使用方式对我来说没有意义.在Unfoldable
下面再现的类中,元素类型i
显示为由集合类型确定c
.
Run Code Online (Sandbox Code Playgroud)class Unfoldable c i | c -> i
具有不可观察元素的集合类.这是
Foldable
班级的双重性.
请解释依赖关系c -> i
在这里扮演的角色和设计意图,理想情况下是一个使用示例?