我正在尝试使用jQuery和RaphaelJS:
但是,我无法正确显示信息......它似乎显示然后立即隐藏.这是我正在使用的代码的简化测试版本:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="raphael.js"></script>
<script type="text/javascript">
$(function() {
var paper = new Raphael("canvas_container", 300, 150);
paper.circle(50, 75, 30);
paper.circle(150, 75, 30);
$("circle").each(function(i) {
$(this).mouseover(function() {
$("#test").append("<p>MouseOver</p>");
});
$(this).mouseout(function() {
$("#test").append("<p>MouseOut</p>");
});
});
});
</script>
</head>
<body>
<div id="canvas_container"></div>
<div id="test"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在这个例子中,一旦我进入一个圆圈,立即显示"MouseOver"和"MouseOut".我不确定我是否使用了错误的事件,或者拉斐尔是否有一些时髦的事情.
我是一个完整的Javascript noob,所以如果我只是以错误的方式做所有事情,那么我们非常感谢指针.
我在我的代码中进行了大量的数组求和,所以我想要修补Array类以包含sum方法(它对数组中的所有元素求和):
class Array
def sum
self.inject{ |s, t| s + t }
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我以前从来没有在共享代码中修补任何东西,我怀疑这是一个"安全"的事情(例如,也许其他人已经定义了一个sum方法Array).
那么什么是能够在我正在编写的代码中对数组求和的最佳方法,而不必arr.inject{ |s, t| s + t }每次都写入?猴子补丁有安全的方法吗?我能以某种方式使用模块吗?或者我应该在某个地方编写一个辅助方法,它接收一个数组并返回总和(即def sum_array(arr); return arr.inject{ |s, t| s + t }; end)?(或者还有其他一些方法吗?)
我有以下 Peewee PostgreSQL 模型:
class Game(Model):
class Meta:
database = db
db_table = 'd_games'
game_id = PrimaryKeyField()
location = CharField()
home_team = ForeignKeyField(Team, related_name='home_games')
away_team = ForeignKeyField(Team, related_name='away_games')
Run Code Online (Sandbox Code Playgroud)
您可以看到该模型与 Team 模型有两个外键关系。
我想做类似的事情:
games = Game.select(Game, Team).join(Team).limit(10)
for g in games:
print '%s vs. %s' % (g.home_team.team_name, g.away_team.team_name)
Run Code Online (Sandbox Code Playgroud)
不幸的是,虽然home_team关系保存在初始查询中:
# from the query log
'SELECT t1."game_id", t1."game_date", t1."location", t1."home_team_id", t1."away_team_id", t2."team_id", t2."team_name"
FROM "d_games" AS t1
INNER JOIN "d_team" AS t2
ON (t1."home_team_id" = t2."team_id")
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
这种away_team …
我在Chrome,Firefox和Safari中尝试了以下代码,但我的div并没有完全集中.
HTML:
<!DOCTYPE html>
<html>
<head>
<link href="custom.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="center">Hello!</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
custom.css:
.center {
width: 400px;
margin: 0 auto;
border: 5px solid black;
}
Run Code Online (Sandbox Code Playgroud)
这会在Chrome中生成以下内容:

你可以看到左边距大于右边距.
我究竟做错了什么?
给定一个字母表["a"; "b"; "c"]我想将所有长度为25的序列转储到一个文件中.(字母可以按顺序重复;它不是排列.)问题是,Stack overflow during evaluation (looping recursion?)当我尝试使用以下代码时,我得到了一个:
let addAlphabetToPrefix alphabet prefix =
List.map (function letter -> (prefix ^ letter)) alphabet;;
let rec generateWords alphabet counter words =
if counter > 25 then
words
else
let newWords = List.flatten(List.map (function word -> addAlphabetToPrefix alphabet word) words) in
generateWords alphabet (counter + 1) newWords;;
generateWords ["a"; "b"; "c"] 0 [""];; (* Produces a stack overflow. *)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?我想先生成整个列表,然后将整个列表转储到文件中,但是我是否必须重复生成部分列表然后转储?会做一些懒惰的帮助吗?
为什么发生堆栈溢出?AFAICT,我的generateWords函数是尾递归的.问题是words我生成的列表变得太大而无法适应内存吗?
我正在尝试用Coffeescript阅读一个文件.在我进入coffeerepo 的同一个文件夹中,我有一个名为的文件hello.txt.
coffee> fs = require 'fs'
coffee> x = fs.readFile "hello.txt"
undefined
coffee> x
undefined
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
假设我有以下数据框:
dd <- data.frame(x1 = c(1, 2, 3), x2 = c(3, 4, 5), x3 = (5, 6, 7))
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,如下所示:
dd$x.sum <- dd$x1 + dd$x2 + dd$x3
Run Code Online (Sandbox Code Playgroud)
但不是写出添加(假设我实际上有100列x1, x2, ..., x100我想要加在一起),我想以编程方式编写它.就像是:
dd$x.sum <- sum(sapply(1:3, function(i) {
return(dd[paste0("x", i)])
}))
Run Code Online (Sandbox Code Playgroud)
除此之外不起作用.
我该怎么做呢?
我正在尝试学习如何构建交互式数据可视化,我想我想要使用Flash/Flex/ActionScript路由而不是使用Processing.
问题是,我从来没有理解这三者之间的区别是什么,所以我不知道应该学习哪一个.
听起来Flash更适合设计人员/非程序员,Flex更适合程序员,而ActionScript只是Flash和Flex中使用的编程语言(即Flash和Flex属于Actionscript,因为iPhone SDK是针对Objective C的. .?).它是否正确?
如果是这样,我是程序员,所以听起来我想要去Flex或ActionScript路线.选择ActionScript书籍和选择Flex书籍有什么区别?
我正在使用Raphael创建一些圈子.当用户单击按钮时,我想为这些圆圈设置动画(通过增加它们的半径).我该怎么做呢?
例如,这是我的示例代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="raphael.js"></script>
<script type="text/javascript">
$(function() {
var paper = new Raphael("canvas_container", 300, 150);
paper.circle(50, 75, 30);
paper.circle(150, 75, 30);
$("button").click(function() {
$("circle").each(function(i) {
this.animate({ r: 100 }, 500); // Doesn't work.
});
});
});
</script>
</head>
<body>
<div id="canvas_container"></div>
<button>Click me to animate the circles</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
[一般来说,我不清楚以下两个变量之间的区别是什么:
var c = paper.circle(50, 75, 30); // Raphael circle
$("circle").first(); // using jQuery to grab that Raphael circle
Run Code Online (Sandbox Code Playgroud)
jQuery对象是Raphael圈子的包装器吗?]
假设我想要一个Scala数据结构,该数据结构实现可以随时间变化的二维计数表(即,表中的单个单元格可以递增或递减)。我应该用什么来做到这一点?
我可以使用二维数组:
val x = Array.fill[Int](1, 2) = 0
x(1)(2) += 1
Run Code Online (Sandbox Code Playgroud)
但是数组是可变的,我想我应该稍微喜欢不变的数据结构。
所以我考虑使用二维向量:
val x = Vector.fill[Int](1, 2) = 0
// how do I update this? I want to write something like val newX : Vector[Vector[Int]] = x.add((1, 2), 1)
// but I'm not sure how
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何只更改一个元素就可以得到一个新的向量。
最好的方法是什么?
我有一堆字符串,我想读作UTF-8.有没有办法在Scala中强制执行此编码,而不传递命令行参数?
例如,我想做类似的事情val utf8EncodedString = new String(myString, "UTF-8").
假设我有以下代码:
case class Foo(x: SortedSet[String]) {
def bar: Set[String] = x
}
Run Code Online (Sandbox Code Playgroud)
(这是我实际代码的简化.)如果我尝试运行它,我会收到以下错误:
error: type mismatch;
found : scala.collection.SortedSet[String]
required: Set[String]
def bar: Set[String] = x
Run Code Online (Sandbox Code Playgroud)
为什么我会收到此错误?不是SortedSet[String]一个副特征Set[String]?
javascript ×3
scala ×3
jquery ×2
raphael ×2
apache-flex ×1
coffeescript ×1
css ×1
flash ×1
node.js ×1
ocaml ×1
peewee ×1
python ×1
r ×1
ruby ×1
utf-8 ×1