我试图找出所有可以嵌套在段落元素中的有效HTML5元素,以便w3验证器不会显示任何错误.我的意思是我试图找出所有可以替换以下代码中的点的标签,以便w3验证器不会显示任何错误:
<p>...</p>
Run Code Online (Sandbox Code Playgroud)
有这样的清单吗?我试着在Google上搜索没有任何运气.
即使反转列表可用,即不能嵌套在段落元素中的元素,对我来说也足够了.
我有一个关于如何在嵌套函数场景中处理"this"指针的问题.
假设我将以下示例代码插入到网页中.当我调用嵌套函数"doSomeEffects()"时出错.我检查了Firebug,它表明当我在嵌套函数中时,"this"指针实际上指向全局"窗口"对象 - 我没想到.我一定不能理解正确的东西,因为我认为既然我在对象的函数中声明了嵌套函数,它应该具有与函数相关的"局部"范围(即"this"指针将指向对象本身就像它是如何在我的第一个"如果"声明中.
任何指针(没有双关语意)将不胜感激.
var std_obj = {
options : { rows: 0, cols: 0 },
activeEffect : "none",
displayMe : function() {
// the 'this' pointer is referring to the std_obj
if (this.activeEffect=="fade") { }
var doSomeEffects = function() {
// the 'this' pointer is referring to the window obj, why?
if (this.activeEffect=="fade") { }
}
doSomeEffects();
}
};
std_obj.displayMe();
Run Code Online (Sandbox Code Playgroud) 我知道如果我想重新引发一个异常,我raise在相应的except块中使用不带参数.但是给出了一个嵌套的表达式
try:
something()
except SomeError as e:
try:
plan_B()
except AlsoFailsError:
raise e # I'd like to raise the SomeError as if plan_B()
# didn't raise the AlsoFailsError
Run Code Online (Sandbox Code Playgroud)
如何在SomeError不破坏堆栈跟踪的情况下重新提升?raise在这种情况下,单独会重新提高最近AlsoFailsError.或者我怎么能重构我的代码以避免这个问题?
什么是依赖范围以及在以下错误的上下文中typename的含义是什么?
$ make
g++ -std=gnu++0x main.cpp
main.cpp:18:10: error: need 'typename' before 'ptrModel<std::vector<Data> >::Type' because 'ptrModel<std::vector<Data> >' is a dependent scope
make: *** [all] Error 1
/*
* main.cpp
*/
#include <vector>
#include <memory>
template<typename T>
struct ptrModel
{
typedef std::unique_ptr<T> Type;
};
template<typename Data>
struct ptrType
{
typedef ptrModel< std::vector<Data> >::Type Type;
};
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我想了解嵌套列表理解.下面,我列出了一个列表推导表达式和它们的for循环等价物.
我想知道我的理解是否正确.
例如,
[(min([row[i] for row in rows]),max([row[i] for row in rows]))
for i in range(len(rows[0]))]
Run Code Online (Sandbox Code Playgroud)
相当于
result=[]
for i in range(len(rows[0])):
innerResult=[]
for row in rows:
innerResult.append(row[i])
innerResult2=[]
for row in rows:
innerResult2.append(row[i])
tuple=(min(innerResult), max(innerResult2))
result.append(tuple)
Run Code Online (Sandbox Code Playgroud)
如果我可以概括,我想
[exp2([exp1 for x in xSet]) for y in ySet]
Run Code Online (Sandbox Code Playgroud)
表格可以翻译成以下内容.(我希望我对此是正确的)
result=[]
for y in ySet:
innerResult =[]
for x in xSet:
innerResult.append(exp1)
exp2Result = exp2(innerResult)
result.append(exp2Result)
Run Code Online (Sandbox Code Playgroud)
对于更简单的情况,
[exp1 for x in xSet for y in ySet]
Run Code Online (Sandbox Code Playgroud)
等于
result=[]
for x in xSet: …Run Code Online (Sandbox Code Playgroud) 我在我的一个Rails模型中使用accepts_nested_attributes_for,我想在创建父节点后保存子节点.
表单完美无缺,但验证失败.为简单起见,请想象以下内容:
class Project < ActiveRecord::Base
has_many :tasks
accepts_nested_attributes_for :tasks
end
class Task < ActiveRecord::Base
belongs_to :project
validates_presence_of :project_id
validates_associated :project
end
Run Code Online (Sandbox Code Playgroud)
而我正在运行:
Project.create!(
:name => 'Something',
:task_attributes => [ { :name => '123' }, { :name => '456' } ]
)
Run Code Online (Sandbox Code Playgroud)
保存项目模型后,验证失败,因为它们没有project_id(因为项目尚未保存).
似乎Rails遵循以下模式:
模式应该是:
所以我的问题归结为:如何在保存父(项目)之后让Rails运行project_id =(或project =)方法并验证子项(任务),但不保存父项目(项目)如果任何孩子(任务)无效?
有任何想法吗?
假设您有一个嵌套的元素结构,例如带有MenuItems的ContextMenu:
<ContextMenu Style="{StaticResource FooMenuStyle}">
<MenuItem Style="{StaticResource FooMenuItemStyle}"/>
...
</ContextMenu>
Run Code Online (Sandbox Code Playgroud)
您可以轻松地将样式或模板应用于ContextMenu或MenuItem元素.但是如果MenuItem样式属于Menu样式,则将它添加到每个MenuItem元素是非常麻烦和冗余的.
有没有办法自动将这些应用于子元素?所以你可以简单地写这个:
<ContextMenu Style="{StaticResource FooMenuStyle}">
<MenuItem/>
...
</ContextMenu>
Run Code Online (Sandbox Code Playgroud)
如果FooMenuStyle可以包含包含MenuItem元素的样式,那将是很好的,但这似乎是不可能的.
编辑:菜单示例可能会产生误导,因为我不知道ItemContainerStyle,并且意图是一般解决方案.基于这两个答案,我提出了两个解决方案:一个常规变体和一个ItemContainerStyle等:
<Style x:Key="FooMenuItem" TargetType="{x:Type MenuItem}">
...
</Style>
<Style x:Key="FooMenu" TargetType="{x:Type ContextMenu}">
<!-- Variant for specific style attribute -->
<Setter Property="ItemContainerStyle"
Value="{StaticResource FooMenuItem}"/>
<!-- General variant -->
<Style.Resources>
<Style TargetType="{x:Type MenuItem}"
BasedOn="{StaticResource FooMenuItem}"/>
</Style.Resources>
</Style>
<ContextMenu Style="{StaticResource FooMenu}">
<MenuItem/>
</ContextMenu>
Run Code Online (Sandbox Code Playgroud) 在与同事谈论C#时,他向我展示了一些我必须预测输出的C#代码.这看起来很简单,但事实并非如此.我无法理解为什么C#以这种方式行事.
代码:
public class A<T1>
{
public T1 a;
public class B<T2> : A<T2>
{
public T1 b;
public class C<T3> : B<T3>
{
public T1 c;
}
}
}
class Program
{
static void Main(string[] args)
{
A<int>.B<char>.C<bool> o = new A<int>.B<char>.C<bool>();
Console.WriteLine(o.a.GetType());
Console.WriteLine(o.b.GetType());
Console.WriteLine(o.c.GetType());
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
System.Boolean
System.Char
System.Int32
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我,但我知道这o.a是bool类型,因为C<T3>继承自B<T3>并B<T2>继承自A<T2>.我也可以稍微明白o.c是int类型的,因为类型c就是T1它从外部类获取(我认为).
当我试图弄清楚为什么o.b是char类型时,我的脑袋几乎爆炸了.谁可以给我解释一下这个?
在Python中,如果我在父函数中有子函数,那么每次调用父函数时子函数是否"初始化"(创建)?将函数嵌套在另一个函数中是否存在任何开销?
嗨我正在尝试访问控制器"ViewWorklogCrtl"中的参数,同时使用ui-router并遇到困难.
基本上,我的父模板包含:
a(ui-sref="instance-ticket.worklog({id:{{ticket.testnum}}})") show
Run Code Online (Sandbox Code Playgroud)
然后进一步向下:
section(ui-view="top-section")
Run Code Online (Sandbox Code Playgroud)
然后在我的app.js中,包含客户端路由信息,我有:
$stateProvider
.state('instance-ticket', {
url: '/ticket/:instanceID',
templateUrl: 'partials/instance-ticket',
controller: 'ViewTicketCrtl'
})
.state('instance-ticket.worklog', {
views:{
'top-section':{
templateUrl:'/partials/ticket.worklog.jade',
controller: 'ViewWorklogCrtl'
}
}
})
Run Code Online (Sandbox Code Playgroud)
模板加载工作正常,我无法找到答案的问题和问题是 - 如何通过ui-sref链接访问"testnum",以及ViewWorkLogCtrl内部...是否有更好的方法这个?
非常感谢!!!