我想在javascript对象中使用函数作为键.以下工作,至少在Chrome中:
var registry = {};
function Foo(){ };
function Bar(){ };
registry[Foo] = 42;
registry[Bar] = 43;
alert(registry[Foo] + " < " + registry[Bar]);
Run Code Online (Sandbox Code Playgroud)
这是否符合标准?它支持哪些浏览器?
我想知道什么是最简单的方法来进行JavaScript 单元测试作为Rails 3.1应用程序的一部分.
我非常喜欢Jasmine并且效果很好(虽然它需要一些技巧才能获取.coffee
文件).
我使用Jasmine的唯一问题是它在一个巨大的页面中运行所有测试示例,这是非常有问题的,因为它需要加载所有脚本.
我真正想要的是Jasmine +多个文件中的多个测试套件(因此它生成多个html文件,包括spec文件).
除此之外,我想在浏览器,无头或JS引擎内运行测试(希望很容易)(如果可能的话).
有什么建议?
javascript ruby unit-testing ruby-on-rails ruby-on-rails-3.1
require 'net/http'
urls = [
{'link' => 'http://www.google.com/'},
{'link' => 'http://www.yandex.ru/'},
{'link' => 'http://www.baidu.com/'}
]
urls.each do |u|
u['content'] = Net::HTTP.get( URI.parse(u['link']) )
end
print urls
Run Code Online (Sandbox Code Playgroud)
此代码以同步方式工作.第一个请求,第二个,第三个.我想异步发送所有请求并urls
在完成所有请求后打印.
最好的办法是什么?纤维是否适合这种情况?
YAML条目开头的&符号通常被视为一组数据的标签,可以在以后引用.如何在YAML条目开始时逃避合法的&符号.例如:
---
- news:
news_text:“ Text!’
我希望不会在yaml文件中成为标签,而是当我解析YAML文件以使news_text返回时使用“ 在条目中.
我有一个带有默认proc的哈希,我想将Marshal设置为一个文件,但默认的proc会阻止我这样做.
而不是写我自己_dump
和_load
方法,是有可能,而不是删除默认PROC呢?在我编组时,我永远不会再需要默认的proc.
我想使用手势,因此kinect可以选择以手势为主要玩家的人.在此之后,他可以控制PC.选择该人并给予他们控制权已完成.现在我必须实现一个手势,但我不知道如何开始.
谁能帮我?
class RedGuy
constructor : (@name) ->
@nameElem = $ @name
@nameElem.css color : red
class WideRedGuy extends RedGuy
constructor : ->
@nameElem.css width : 900
jeff = new WideRedGuy '#jeff'
Run Code Online (Sandbox Code Playgroud)
我想要#jeff
既红又宽,但我总是得到this.name is undefined
.如何扩展构造函数(追加?)以便我可以访问原始对象的属性?
我不知道为什么红宝石给and
,or
少优先级比&&
,||
和赋值运算符?有什么缘故吗?
在下面的示例中,有没有办法知道合并发生了?看着git log,我不能告诉我合并了.
# setup example directory
$ mkdir test
$ cd test
$ git init
$ touch a
$ git add a
$ git commit -m "1"
# switch to different branch
$ git checkout -b topic
$ touch b
$ git add b
$ git commit -m "2"
# go back to master and merge
$ git checkout master
$ git merge topic
# git log
commit cccc64de3947828f487a8ce3c3e72b0f68dc88c3
Author: none
Date: Fri May 20 05:54:45 2011 -0700
2
commit …
Run Code Online (Sandbox Code Playgroud) 我经常发现自己在Ruby中构建查找表,通常是为了缓存一些昂贵的计算或构建我传递给视图的东西.我认为必须有一个简短的,可读的成语,但我们想不到一个.例如,假设我想开始
[65, 66, 67, ...]
Run Code Online (Sandbox Code Playgroud)
并最终得到
{65 => "A", 66 => "B", 67 => "C", ...}
Run Code Online (Sandbox Code Playgroud)
我们能想到的不太合适的习语包括:
array = (65..90).to_a
array.inject({}) {|hash, key| hash[key]=key.chr; hash}
{}.tap {|hash| array.each {|key| hash[key] = key.chr}}
Hash[array.zip(array.map{|key| key.chr})]
Run Code Online (Sandbox Code Playgroud)
但所有这些都有点痛苦:难以阅读,容易搞砸,意图不明确.当然Ruby(或者一些Rails助手)对此有一些很好的魔力?
ruby ×5
javascript ×2
asynchronous ×1
c# ×1
coffeescript ×1
concurrency ×1
fiber ×1
gesture ×1
git ×1
hash ×1
kinect ×1
marshalling ×1
oop ×1
operators ×1
unit-testing ×1
yaml ×1