小编Dmi*_*try的帖子

Python lambda不接受元组参数

我在两台PC上运行带有PyDev v2.6插件的Eclipse SDK v3.6,包括Linux和Windows.

我想传递一个元组作为参数,就像(只是示例):

foo = lambda (x,y): (y,x)
print (foo((1,2)))
Run Code Online (Sandbox Code Playgroud)

这适用于Linux并提供结果:

(2,1)

在Windows上它出现错误:

foo = lambda (x,y): (y,x)
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

如何解决问题?提前致谢...

感谢interjay和他对PEP 3113的引用,我发现从3.0版本的Python中不推荐使用元组参数.

所以,代码没有工作,看起来像

foo = lambda (x,y): (y,x)
print (foo((1,2)))
Run Code Online (Sandbox Code Playgroud)

现在适用于Python的2.7版和3.0版,看起来像

foo = lambda (x,y): (y,x)
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

其中接受是tupes列表反正.

python eclipse lambda tuples pydev

41
推荐指数
1
解决办法
4万
查看次数

如何使用javascript嵌入SVG样式?

我正在尝试使用JavaScript 将CSS样式嵌入到SVG内容中(如本例所示).SVG本身嵌入到HTML5文件中.样式嵌入的目的是将SVG在线创建的内容保存到独立的*.svg文件中.

这是第一个测试内容:http://jsfiddle.net/3L8a2oxy/

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SVG embedded styling</title>
</head>

<body>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
        <defs></defs>
        <circle  cx="50" cy="50"  r="25"/>
    </svg>

    <script>
        var svg = document.getElementsByTagName("svg")[0];
        var defs = svg.getElementsByTagName('defs')[0];
        var style = document.createElement('style');
        defs.appendChild(style);
        style.setAttribute('type', 'text/css');

        var node = document.createTextNode('<![CDATA[circle { fill: red; }]]>');
        style.appendChild(node);

    </script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

在该示例中,样式不起作用:

在此输入图像描述

和Firefox(v 34.0.5)给出错误:

选择器预期.由于选择器错误,Rulset忽略.

但是,如果您使用此代码创建单独的html文件,保存并在浏览器中重新打开,则可以看到样式,即浏览器正确解析它.

如果更改样式代码,则:

var node = document.createTextNode('circle { fill: red; }');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然后样式在线工作没有错误(http://jsfiddle.net/8grf344g/).但这并不是规范告诉我们要做的事情.我可以将SVG部分保存到文件中,然后在浏览器中打开它,它看起来样式正确,但我不确定它在其他应用程序中的表现.

所以,问题在于主题.

PS.还有一个问题,我还没有找到任何解决方案.如果您尝试将样式数据与样式标记合并,如下所示:

var node = document.createTextNode('<style type=\'text/css\'><![CDATA[circle …
Run Code Online (Sandbox Code Playgroud)

html javascript css svg

1
推荐指数
1
解决办法
1366
查看次数

标签 统计

css ×1

eclipse ×1

html ×1

javascript ×1

lambda ×1

pydev ×1

python ×1

svg ×1

tuples ×1