有没有办法依赖特征中case类中定义的方法?例如,复制:以下不起作用.不过,我不知道为什么.
trait K[T <: K[T]] {
val x: String
val y: String
def m: T = copy(x = "hello")
def copy(x: String = this.x, y: String = this.y): T
}
case class L(val x: String, val y: String) extends K[L]
Run Code Online (Sandbox Code Playgroud)
得到:
error: class L needs to be abstract, since method copy in trait K of type
(x: String,y: String)L is not defined
case class L(val x: String, val y: String) extends K[L]
^
Run Code Online (Sandbox Code Playgroud) 我知道比Java和Ruby更动态的Java语言通常允许您将混合类型的对象放在数组中,如下所示:
["hello", 120, ["world"]]
Run Code Online (Sandbox Code Playgroud)
我不明白为什么你会使用这样的功能.如果我想在Java中存储异构数据,我通常会为它创建一个对象.
例如,说a Userhas int ID和String name.虽然我在Python/Ruby/PHP中看到你可以这样做:
[["John Smith", 000], ["Smith John", 001], ...]
Run Code Online (Sandbox Code Playgroud)
这似乎有点不太安全/ OO不是创建一个类User具有属性ID和name,然后让你的数组:
[<User: name="John Smith", id=000>, <User: name="Smith John", id=001>, ...]
Run Code Online (Sandbox Code Playgroud)
这些<User ...>东西代表用户对象.
是否有理由在支持它的语言中使用前者而不是后者?或者是否有更大的理由使用异构数组?
NB我不是在谈论包含所有实现相同接口或从同一父接口继承的不同对象的数组,例如:
class Square extends Shape
class Triangle extends Shape
[new Square(), new Triangle()]
Run Code Online (Sandbox Code Playgroud)
因为对于程序员来说,至少仍然是一个同质数组,因为你将对每个形状做同样的事情(例如,调用draw()方法),只有两者之间通常定义的方法.
我有一个HTML文档,其中包含大约30,000个单词.
我希望能够在用户点击任何单词时执行某些操作.为了简单/概念,我只想alert()说这个词.
例如,在段落中,如果我点击"有"它应该运行alert("have").
我正在使用jQuery.
如果
class MyClass {
public static void main(String[] str) {
System.out.println("hello world");
}
}
// in some other file and method
Class klass = Class.forName("MyClass");
Run Code Online (Sandbox Code Playgroud)
我该怎么打电话MyClass.main?我在编译时没有字符串"MyClass",所以我不能简单地调用MyClass.main(String[]{}).
有时这样的事情会发生:
#0 /some/path(1): Class_Name->exception_trigger()
#1 /some/other/path(5): get_to('/some/long/path/tha...')
Run Code Online (Sandbox Code Playgroud)
如何查看所有内容的完整参数?
所以,基本上,我想要一个固定在页面底部的项目,但是当视图水平滚动时,它也应该水平滚动.
我可以用JavaScript来解决这个问题,但有没有CSS方法可以做到这一点?我不介意在这里和那里多一些额外的DIV.
我正在学习C++,而且对于不同类型的初始化我感到很困惑.
你可以做:
T a;
Run Code Online (Sandbox Code Playgroud)
据我所知,有时会初始化a,有时也不会,具体取决于是否T有默认构造函数.
你也可以这样做:
T a(); // or
T a(1, 2, 3... args);
Run Code Online (Sandbox Code Playgroud)
; (在某些情况下):
T a = 1; // implicitly converted to T sometimes?
Run Code Online (Sandbox Code Playgroud)
; 如果没有构造函数:
T a = {1, 2, 3, 4, 5, 6};
Run Code Online (Sandbox Code Playgroud)
; 并且:
T a = T(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)
.
如果你想在堆上分配,那就是
T a = new T(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)
还有别的事吗?
我想知道a)我是否已经涵盖了所有类型的初始化,以及b)何时使用每种类型?
我正在浏览一些Rails源代码并遇到过
# File vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb, line 129
129: def target!
130: @target * ''
131: end
Run Code Online (Sandbox Code Playgroud)
*''做什么?那是乘空字符串......?你为什么要这样做呢.
如果我有这样的CSS关键帧动画
@keyframes flash-red {
50% {
background: #f00;
}
}
#goflash.anm-flash {
animation-name: flash-red;
animation-duration: .5s;
background: rgba(255, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
然后我总是可以像这样触发动画:
var gf = document.querySelector("#goflash");
gf.classList.remove("anm-flash");
setTimeout(function() {
gf.classList.add("anm-flash");
}, 50);
Run Code Online (Sandbox Code Playgroud)
有没有办法覆盖动画持续时间/动画定时功能依赖于JavaScript?我希望能够说出像红色gf.animate("flash-red", "50%")背景gf或gf.animate("flash-red", "75%")让背景更像的东西rgba(255, 0, 0, .5).
理想情况下,相同的技术适用于过渡.gf.transitionTo("new-class", "50%")将元素显示为中途转换.
显然这flash-red只是一个例子 - 我希望能够用任何动画做到这一点.
我知道IE没有元素load事件<script>- 有没有办法可靠地弥补这一点?
我已经看过一些关于事物的讨论(例如requestState == "complete"),但没有什么可以证实的.
这是为了在脚本加载完成后调用代码,这样我就不必使用AJAX来加载新的源代码(从而消除了跨域AJAX的问题).
javascript ×3
css ×2
java ×2
jquery ×2
ruby ×2
arrays ×1
asynchronous ×1
c++ ×1
case-class ×1
css3 ×1
dynamic ×1
exception ×1
html5 ×1
php ×1
positioning ×1
python ×1
scala ×1