我有一个很大的旧配置对象.就像是:
var object = {
item1: 'value1',
item2: 1000,
item3: ['a', 'b', 'c'],
item4: [1, 2, 3],
item5: {
foo: 'bar'
}
};
Run Code Online (Sandbox Code Playgroud)
... 等等.我想重写为有效的JSON,因此它可以通过intertubes旅行,但我并不想通过每一行中我的文件到处都是手动添加双引号.当然,我不介意手动包装在括号中的整个事情,改变了最初的任务是第一属性,但除此之外,我希望有一些资源,将做繁重的工作.
无论如何,如果知道TextMate命令,正则表达式技巧,在线转换器,友好机器人或任何其他会使这不那么繁琐的事情,请帮助我.
我有一个带有字典列表的Jinja模板.订单很重要.我想根据字典的键/值减少列表或查找值.这是一个例子:
{%
set ordered_dicts = [
{
'id': 'foo',
'name': 'My name is Foo'
},
{
'id': 'bar',
'name': 'My name is Bar'
}
]
%}
Run Code Online (Sandbox Code Playgroud)
如果我有变量some_id = 'foo'
,我如何'My name is Foo'
退出ordered_dicts
Jinja模板?
我试着select()
和selectattr()
想不出他们出基于文档.这是我试过的:
{{ ordered_dicts|selectattr("id", "foo") }}
Run Code Online (Sandbox Code Playgroud)
那输出:
<generator object _select_or_reject at 0x10748d870>
Run Code Online (Sandbox Code Playgroud)
我不认为我理解使用select()
和selectattr()
正确.
我是否需要遍历列表并手动执行查找?
更新:
正如codegeek和gipi指出的那样,我需要用生成器做这样的事情:
{{ ordered_dicts|selectattr("id", "foo")|list }}
Run Code Online (Sandbox Code Playgroud)
由此产生的错误:TemplateRuntimeError: no test named 'foo'
,澄清了如何selectattr()
工作.第二个参数必须是内置测试之一.据我所知,这些测试都不会让我检查与键相关的值是否与另一个值匹配.这是我想做的事情:
{{ ordered_dicts|selectattr("id", "sameas", "foo")|list …
Run Code Online (Sandbox Code Playgroud) 我使用的是UIImageView
作为accessoryView
一个UITableViewCell
我要创建的程序.我用尽了一切我能想到的来设置accessoryView
的alpha
属性,但它不工作.我能够毫无问题地设置hidden
和opaque
属性,但是却alpha
在讨厌我.
我尝试创建一个包含单个UITableViewController
和以下tableView:cellForRowAtIndexPath:
方法的新项目:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = @"Cell";
UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
cell.accessoryView = iv;
[iv release];
// cell.accessoryView.hidden = YES; // works
cell.accessoryView.alpha = 0.5f; // fails
return cell; …
Run Code Online (Sandbox Code Playgroud) 我正在使用Ember.js异步路由指南中描述的功能.也就是说,我从异步路由的model
钩子返回一个promise,以延迟转换到路由,这可以按预期工作.
但是,它打破了我的应用程序单元测试的能力.当我运行我的测试时,我在控制台中收到以下错误:
断言失败:您已打开测试模式,该模式禁用了运行循环的自动运行.您需要在Ember.run中包含任何带有异步副作用的代码
我用异步副作用包装了所有代码Ember.run
,但我仍然得到错误.
这是一个带有最小例子的JSFiddle:http://jsfiddle.net/nRHfv/3/
该示例基于Ember入门套件及其附带的测试运行器.它有一个工作的异步索引路由.如果设置testing: false
到true
的_config
物体(10号线),这将打开测试套件,你应该看到在您的控制台上面的错误.
我的异步路由model
挂钩在第38行.我已经尝试了几种包含代码的变体Ember.run
.例如,我已经尝试在内部定义promise Ember.run
,在里面执行所有异步内容,然后在外面返回promise.我也试过包装then()
in 的内容Ember.run
,就像我在其他一些答案上看到的那样(例如ember集成测试错误.处理异步副作用).
我究竟做错了什么?
好的,所以我们有这个活动.太棒了吧?
我们还有一个具有固定最大持续时间的计时器,就像其中一个旋转厨房计时器一样.不是很棒,但绝对方便.
当计时器熄灭时,事件发生,并且计时器被重置为零和最大持续时间之间的某个随机值(每个值具有相等的机会或被选中).计时器立即启动,并且该过程将永久持续.
我的问题是:活动的有效期是多少?也就是说,如果另一个重复事件具有固定的周期,则该周期必须是两个事件在非常大的时间内具有相同数量的事件.
我想说它是计时器最大持续时间的一半,但我不知道为什么,如果那是错的话我也不会感到惊讶.
javascript ×2
ember.js ×1
flask ×1
iphone ×1
jinja2 ×1
json ×1
math ×1
python ×1
text-editor ×1
unit-testing ×1