在php中有没有办法为两个不同的,不相关的接口键入提示?例如:
interface errorable {
function error($msg);
}
interface recordable {
ssh_for_recorder();
}
class uploader__module extends base__module implements errorable, recordable {
public function ssh_for_recorder() {
return new ssh2;
}
public function error($msg) {
$this->errors[] = $msg;
}
public function upload() {
$recorder = new recorder($this);
$recorder->run();
}
}
class recorder {
private $ssh2;
private $module;
private function upload() {
if (!$this->ssh2) {
$this->module->error("No SSH2 connection");
}
}
public function __construct({recordable,errorable} $module) {
$this->module = $module;
$this->ssh2 = $module->ssh_for_recorder();
}
}
Run Code Online (Sandbox Code Playgroud)
正如你可以在上面的代码中看到,记录类预计其模块必须同时运行的能力 …
我目前正在寻找一种方法来加载多个脚本/插件,而无需在标题中列出清单.
要简单地拥有一个load.js,所有加载对我来说都是非常优雅的.
$(function() {
var scripts = ['scripts/jquery1.5.js','scripts/easing.js','scripts/scroll.js','scripts/main.js'];
for(var i = 0; i < scripts.length; i++) {
$.getScript(scripts[i]);
}
})
Run Code Online (Sandbox Code Playgroud)
我目前有类似的东西,但由于某种原因无法让它工作.有任何想法吗?
相当于Java中的'long',我们在Objective C,NSInteger中有什么?
在Python中,如何重用现有的相等的不可变对象(就像这样做str)?这可以通过定义__hash__方法来完成,还是需要更复杂的措施?
我想
class ApplicationController < ActionController::Base
include Foo
Run Code Online (Sandbox Code Playgroud)
是添加"mixin" - 以便将Foo模块中的所有方法都视为ApplicationController的方法.
但现在我看到了代码
include Bar
class ApplicationController < ActionController::Base
include Foo
Run Code Online (Sandbox Code Playgroud)
那为什么它在外面ApplicationController呢?这与将其置于其中的更常见用途ApplicationController有何不同?
我恐怕再次有一个spplot()问题.
我希望我的spplot()中的颜色代表绝对值,而不是spplot默认情况下的自动值.
我通过从我想要绘制的变量中取出一个因子来实现这一点(使用命令cut()).这很好用,但颜色键看起来并不好看.
自己看看:
library(sp)
data(meuse.grid)
gridded(meuse.grid) = ~x+y
meuse.grid$random <- rnorm(nrow(meuse.grid), 7, 2)
meuse.grid$random[meuse.grid$random < 0] <- 0
meuse.grid$random[meuse.grid$random > 10] <- 10
# making a factor out of meuse.grid$ random to have absolute values plotted
meuse.grid$random <- cut(meuse.grid$random, seq(0, 10, 0.1))
spplot(meuse.grid, c("random"), col.regions = rainbow(100, start = 4/6, end = 1))
Run Code Online (Sandbox Code Playgroud)
我怎样才能让color.key看起来很好看 - 我希望有更少的刻度和更少的标签(也许只有一个标签在color.key的每个极端)
先感谢您!
[编辑] 用绝对值来表达我的意思:想象一下我想要显示海拔高度的地图.Seaheight = 0(最小值)应始终显示为蓝色.Seaheight = 10(仅为示例,最大值)应始终显示为红色.即使地图上显示的区域没有海洋,也不应改变.我在我的示例中使用cut()命令实现了这一点.所以这部分工作正常.
这就是我的问题是 什么我不喜欢的是右侧的颜色描述.有100个刻度,每个刻度都有一个标签.我想要更少的刻度和更少的标签.
我有以下词典:
private Dictionary<string, double> averages = new Dictionary<string, double>();
Run Code Online (Sandbox Code Playgroud)
现在我想使用反射添加两个额外的值.我可以检索字段信息,但我还需要做什么?
FieldInfo field = ProjectInformation.SourceManager.GetType().GetField("averages");
if (field != null)
{
//what should be here?
}
Run Code Online (Sandbox Code Playgroud) 我在iOS中很好地CALayer使用CGPath(QuadCurve)动画.但是我想使用一个比Apple 提供的更有趣的缓动功能(EaseIn/EaseOut等).例如,弹跳或弹性功能.
这些东西可以与MediaTimingFunction(bezier)一起使用:

但我想创建更复杂的计时功能.问题是媒体时间似乎需要一个立方贝塞尔,它不足以产生这些效果:
http://wiki.sparrow-framework.org/_media/manual/transitions.png
该代码创建上面是很简单的在其他框架中,这使得这个非常令人沮丧.请注意,曲线是将输入时间映射到输出时间(Tt曲线)而不是时间 - 位置曲线.例如,easeOutBounce(T)= t返回一个新的t.然后该t用于绘制运动(或任何我们应该动画的属性).
所以,我想创建一个复杂的自定义,CAMediaTimingFunction但我不知道如何做到这一点,或者甚至可能吗?还有其他选择吗?
编辑:
这是步骤的具体示例.很有教育意义
我想沿着从a点到b点的直线设置对象的动画,但我希望它使用上面的easeOutBounce曲线沿着直线"反弹"它的移动.这意味着它将遵循从a到b的精确线,但是将以比使用当前基于bezier的CAMediaTimingFunction更复杂的方式加速和减速.
让我们使用CGPath指定任意曲线移动.它应该仍然沿着该曲线移动,但它应该以与线示例中相同的方式加速和减速.
从理论上讲,我认为它应该像这样工作:
让我们将运动曲线描述为关键帧动画移动(t)= p,其中t是时间[0..1],p是在时间t计算的位置.因此,move(0)返回曲线开始处的位置,移动(0.5)精确中间并移动(1)结束.使用定时功能时间(T)= t来提供移动的t值应该给我想要的东西.对于弹跳效果,定时功能应该返回相同的时间(0.8)和时间(0.8)的t值(仅作为示例).只需更换计时功能即可获得不同的效果.
(是的,可以通过创建和连接来回的四个线段进行线条弹跳,但这不是必需的.毕竟,它只是一个简单的线性函数,它将时间值映射到位置.)
我希望我在这里有意义.
我有一个对象,我想在JSON中作为RESTful资源提供服务.我打开了Jersey的JSON POJO支持(在web.xml中):
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问该资源时,我得到了以下异常:
SEVERE: A message body writer for Java type, class com.example.MyDto, and MIME media type, application/json, was not found
SEVERE: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试提供的类并不复杂,所有它都是一些公共final字段和一个设置所有它们的构造函数.这些字段都是字符串,基元,与此类似的类或其列表(我尝试使用普通列表而不是通用List <T>,但无济于事).有谁知道是什么给出的?谢谢!
Java EE 6
泽西岛1.1.5
GlassFish 3.0.1
在Django中考虑这个简化模型:
class Item(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateTimeField()
class ItemDetail(models.Model):
item = models.ForeignKey(Item)
name = models.CharField(max_length=200)
value = models.CharField(max_length=200)
display_order = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
有没有办法使用管理员编辑一个项目及其在同一页面上的详细信息,其形式类似于:
title: < >
pub_date: < >
details:
+-----------------+----------------------+-------------------------+
| name | value | diplay order |
+-----------------+----------------------+-------------------------+
|< >|< >|< >|
|< >|< >|< >|
|< >|< >|< >|
|< >|< >|< >|
|< >|< >|< >|
+-----------------+----------------------+-------------------------+
Run Code Online (Sandbox Code Playgroud)
< >数据输入的输入类型的占位符在哪里.
所以,我的问题是:我可以使用admin foreign key从父母的角度编辑关系吗?如果没有办法用这种方式用Django的管理员编辑数据,那么尝试扩展/自定义管理员这样做是不是一个好主意?关于如何做到这一点的任何指示?
谢谢!
python ×2
c# ×1
cocoa-touch ×1
django ×1
django-admin ×1
graphics ×1
html ×1
immutability ×1
interface ×1
iphone ×1
java ×1
java-ee ×1
javascript ×1
jersey ×1
jquery ×1
json ×1
lattice ×1
mixins ×1
module ×1
objective-c ×1
oop ×1
php ×1
r ×1
reflection ×1
rest ×1
ruby ×1
tween ×1
type-hinting ×1