IntelliJ IDEA提供了两个非常方便的操作作为"视图"菜单的一部分:"最近的文件"和"最近更改的文件".有没有办法只列出有本地更改的文件?(在上述操作的非侵入式样式中,不作为"更改"视图的一部分)
我使用以下注释来标记我的集成测试:
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Tag("integration-test")
public @interface IntegrationTest {
}
Run Code Online (Sandbox Code Playgroud)
这是我用来build.gradle从gradle build以下方面排除这些测试的过滤器:
junitPlatform {
filters {
tags {
exclude 'integration-test'
}
}
}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
现在我想提供一个专门运行我的集成测试的Gradle任务 - 推荐的方法是什么?
在Scala.js单元测试中,从驻留的文件加载测试数据的最简单的解决方案是什么test/resources?
从排序的值序列开始,我的目标是为每个值分配一个等级,使用相同的等级来表示相等的值(又称为tie):
输入: Vector(1, 1, 3, 3, 3, 5, 6)
输出: Vector((0,1), (0,1), (1,3), (1,3), (1,3), (2,5), (3,6))
一些类型别名的可读性:
type Rank = Int
type Value = Int
type RankValuePair = (Rank, Value)
Run Code Online (Sandbox Code Playgroud)
使用可变rank变量的命令式实现可能如下所示:
var rank = 0
val ranked1: Vector[RankValuePair] = for ((value, index) <- values.zipWithIndex) yield {
if ((index > 0) && (values(index - 1) != value)) rank += 1
(rank, value)
}
// ranked1: Vector((0,1), (0,1), (1,3), (1,3), (1,3), (2,5), (3,6))
Run Code Online (Sandbox Code Playgroud)
为了磨练我的FP技能,我试图提出一个功能实现:
val ranked2: Vector[RankValuePair] = values.sliding(2).foldLeft((0 …Run Code Online (Sandbox Code Playgroud) 我是Scala初学者,用Project Euler练习我的FP技能.
在研究" 问题5:可以被1到20的所有数字整除的最小正数是多少"时,我正在比较基于范围与流的解决方案:
val r1 = Range(20, Int.MaxValue).find(i => (2 to 20).forall(i % _ == 0)).get
val r2 = Stream.from(20).find(i => (2 to 20).forall(i % _ == 0)).get
Run Code Online (Sandbox Code Playgroud)
奇怪的是,r1的计算在大约20秒内完成,而基于流的r2计算耗尽了内存.我本来期待相反的 - 有人可以解释一下吗?
在D3.js v4中,通过传统的回调函数注册事件监听器时,this引用当前的DOM元素:
d3.select("div").on('mouseenter', function() {
d3.select(this).text("Yay");
});
Run Code Online (Sandbox Code Playgroud)
ES6提供了箭头功能,恕我直言,使得D3.js代码更具可读性,因为它们非常简洁.但是,传统的回调不能盲目地用箭头函数替换:
d3.select("div").on('mouseenter', () => {
d3.select(this); // undefined
});
Run Code Online (Sandbox Code Playgroud)
文章"论D3和箭头函数 "给出了一个非常好的解释,说明为什么this没有按预期约束.本文建议对需要访问当前DOM元素的代码使用传统的回调.
是否可以从箭头函数访问当前的DOM元素?
我正在摆弄CSS3观点和转换.从这个伟大的3D立方体示例开始,我想修改立方体,使其不仅围绕其中心旋转,而且在其边缘上滚动.
我通过围绕z轴旋转立方体来获得第一个左倾斜工作-webkit-transform-origin: bottom left(参见小提琴 ;为简单起见,示例限于左倾斜).对于随后的左倾斜,我正在努力如何进一步调整原点.从概念上讲,我需要设置相对于父容器的原点(即对于连续的左倾斜,它应该以200px的步长逐渐向左移动).
任何帮助是极大的赞赏!
我有一个JEditorPane显示在弹出窗口内,通过按钮触发.窗格包含长文本,因此它嵌套在a中JScrollPane,弹出窗口的最大大小限制为300 x 100:
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
String text = "Potentially looooooong text. " +
"Lorem ipsum dolor sit amet, consectetuer" +
"adipiscing elit, sed diam nonummy nibh euismod " +
"tincidunt ut laoreet dolore magna aliquam" +
"adipiscing elit, sed diam nonummy nibh euismod" +
"erat volutpat. Ut wisi enim ad minim veniam, " +
"quis nostrud exerci tation.";
final JEditorPane editorPane = new JEditorPane("text/html", …Run Code Online (Sandbox Code Playgroud) 我的印象是Scala案例类的hashCode完全由其字段决定.因此,我认为缓存hashCode对于不可变的case类是安全的.
好像我错了:
case class Foo(s: String) {
override val hashCode: Int = super.hashCode()
}
val f1 = Foo("foo")
val f2 = Foo("foo")
println(f1.hashCode == f2.hashCode) // FALSE
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这里发生了什么,拜托?
附录 - 仅供比较:
case class Bar(s: String)
val b1 = Bar("bar")
val b2 = Bar("bar")
println(b1.hashCode == b2.hashCode) // TRUE
Run Code Online (Sandbox Code Playgroud) 我正在用更高级的类型浸泡我的脚趾,探索一个非常基本的Scala示例:
trait Mappable[F[_]] {
def map[A, B](fa: F[A])(f: A => B): F[B]
}
object Mappable {
implicit object MappableOption extends Mappable[Option] {
def map[A, B](fa: Option[A])(f: A => B): Option[B] = fa.map(f)
}
implicit object MappableSeq extends Mappable[Seq] {
def map[A, B](fa: Seq[A])(f: A => B): Seq[B] = fa.map(f)
}
}
def bananaTuple[F[_], T](f: F[T])(implicit F: Mappable[F]): F[(String, T)] =
F.map(f)(("banana", _))
Run Code Online (Sandbox Code Playgroud)
这有效:
bananaTuple(Option(42)) // Some((banana,42))
bananaTuple(Seq(42)) // List((banana,42))
Run Code Online (Sandbox Code Playgroud)
但这不编译:
bananaTuple(Some(42))
bananaTuple(List(42))
Run Code Online (Sandbox Code Playgroud)
我得到的编译错误:
could not find implicit value for parameter …Run Code Online (Sandbox Code Playgroud) scala ×5
css3 ×1
d3.js ×1
ecmascript-6 ×1
gradle ×1
java ×1
jeditorpane ×1
junit5 ×1
layout ×1
range ×1
scala.js ×1
stream ×1
swing ×1
transform ×1
unit-testing ×1