class Some(object):
tokens = [ ... list of strings ... ]
untokenized = [tokens.index(a) for a in [... some other list of strings ...]]
... etc ...
some = Some()
Run Code Online (Sandbox Code Playgroud)
这适用于Python2.7.然而python3说:
Traceback (most recent call last):
File "./test.py", line 17, in <module>
class Some(object):
File "./test.py", line 42, in Some
untokenized = [tokens.index(a) for a in [... some other list of strings ...]]
File "./test.py", line 42, in <listcomp>
untokenized = [tokens.index(a) for a in [... some other list of …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用2D画布上下文从JavaScript以大约25fps的速率绘制生成的图像(从像素到像素,但在生成的帧之后一次刷新为整个缓冲区).生成的图像每个像素始终是一个字节(整数/类型数组),固定调色板用于生成RGB最终结果.还需要缩放以采用画布的大小(即:进入全屏)和/或根据用户请求(放大/缩小按钮).
画布的2D上下文可以用于此目的,但是我很好奇WebGL是否可以提供更好的结果和/或更好的性能.请注意:我不想通过webGL放置像素,我想将像素放入我的缓冲区(基本上是Uint8Array),并使用该缓冲区(一次)刷新上下文.我不太了解WebGL,但是使用所需的生成图像作为某种纹理会以某种方式工作吗?然后我需要以大约25fps的速率刷新纹理,我猜.
如果WebGL以某种方式支持色彩空间转换,那真是太棒了.对于2D上下文,我需要将每个像素的1个字节/像素缓冲区转换为RGBA for JavaScript中的imagedata ...现在通过改变画布的高度/宽度样式来缩放(对于2D上下文),因此浏览器会缩放然后是图像.但是我想它可能比WebGL可以用hw支持做得慢,并且(我希望)WebGL可以提供更大的灵活性来控制缩放,例如使用2D上下文,浏览器即使我不想要也会做抗锯齿做(例如:整数缩放因子),也许这就是它有时可能很慢的原因.
我已经尝试过学习几个WebGL教程,但所有这些教程都以对象,形状,3D立方体等开头,我不需要任何 - 经典 - 对象来渲染2D上下文也可以做什么 - 希望对于同样的任务,WebGL可以是更快的解决方案!当然,如果根本没有WebGL的胜利,我会继续使用2D上下文.
需要说明的是:这是用JavaScript完成的某种计算机硬件模拟器,它的输出(连接到它的PAL电视上可以看到)通过画布上下文呈现.该机器具有256个元素的固定调色板,在内部它只需要一个字节用于像素来定义其颜色.
我有一个画布,putImageData()在更新固定数组中的字节后,我通过该方法使用它显示图像getImageData.data。
这很好用,但我需要在 Y 方向缩放 *2。
当然,我也可以通过将每行重复两次来毫无疑问地做到这一点,但是渲染一帧需要太多时间(我每秒显示 25 帧)。我读过有关使用drawImage()方法缩放图像的能力。据我所知,唯一的问题drawImage()是 using 比 using 慢putImageData(),并且在 Firefox/2(或此类)等旧浏览器版本中需要它。
如何将 Y 方向上的图像放大两倍?
顺便说一句,是否有可能获得类似的解决方案以某种方式获得全屏分辨率(Flash - 不是 JS - 例如:就像 youtube 在全屏时所做的那样)?
我想在文本中放一个按钮,如下所示:
some text1 [button] some text2.
Run Code Online (Sandbox Code Playgroud)
但是,如果我放置表单和输入,换行符会在我的按钮之前和之后发生,如下所示:
some text1
[button]
some text2
Run Code Online (Sandbox Code Playgroud)
我知道我可以用桌子来做这件事,但我想避免它.有没有基于CSS的解决方案来做到这一点?不幸的是,我不能修改HTML代码,所以我必须在生成的HTML(由其他软件完成)中"注入"那个小的表单语句(输入类型提交,以及一些隐藏的输入标记),所以它将是很难重新格式化,使用表格等
将表单/输入标签放在"p"标签之间的文本中是否合法?
提前致谢.
我已经谷歌了一下但我还是觉得迷路了.我正在用JavaScript编写一个CPU模拟器(目前我是Z80).内心有一个巨大的转变声明.虽然我当然可以运行一些基准测试,但我不能确定不同浏览器的未来JavaScript引擎(好吧,没有人可以,我知道,但是有些人应该比我更了解不同浏览器的javascript引擎... ).
使用其他构造比使用switch语句更快吗?像一系列函数等.同样类似的问题:我有可能有前缀Z80操作码的情况.交换机的一些"case"分支需要内部的另一个交换机,但不是全部.我想将整个东西转换成一个更大的(但只有一个级别的"深度")开关构造,使得操作码正常在0-255之间,256-511作为0xDD前缀等等,其中一些会有更多'案例'(对于单个相同的代码,没有中断).或者我应该尽可能地避免使用大的switch语句,即使对于基本操作码表(256'case'分支)?
对于C代码,编译器会在这种情况下创建一个非常快的跳转表.但是javascript是什么?
另一个类似的问题:是否值得拥有一个仅包含两个"case"分支和一个"default"条目的switch语句,或者它确实是if ... else更好的情况?
在我的switch结构中声明我只使用数字(和整数 - 虽然它在JavaScript中并不意味着太多,因为AFAIK它只有一种数字类型)值非常重要.
非常感谢提前.
我有一个大页面,充满(服务器端)生成的信息组织成"章节".为了让用户更容易理解,我将一个带有CSS固定位置的小元素放在页面的右上角.
<div class="selector">Goto section within the table: <select
id="chapterselector"
onChange="goto_section('chapterselector')">%SELECTOR%</select>
</div>
Run Code Online (Sandbox Code Playgroud)
文本"%SELECTOR%"被服务器端组件替换为正确的选项元素.
function goto_section ( element ) {
element = document.getElementById(element);
window.location = '#Chapter_' + element.value;
}
Run Code Online (Sandbox Code Playgroud)
这是目前的JavaScript部分.这很好用.然而,还有一个小问题:
用户(包括我)可以使用选择菜单跳转到文档内部,但是通常会使用光标箭头键来导航以滚动页面.问题:使用选择菜单后,它具有焦点,因此光标键现在"滚动"选择菜单中的可能选项.我想要的是:使用选择菜单后,我希望它自动失去焦点,因此光标键会滚动页面.
我怎样才能做到这一点?谢谢你的任何建议.
我有一个项目,我必须经常这样做:
if "something" in dict:
some_var = dict["something"]
del dict["something"]
else:
error_handler_or_other_stuff()
Run Code Online (Sandbox Code Playgroud)
不过我有这个想法:
try:
some_var = dict.pop("something")
except KeyError:
error_handler_or_other_stuff()
Run Code Online (Sandbox Code Playgroud)
我的问题是:一般来说,如何"快速"尝试 - 除了构造是处理异常?是否可以使用它,或者"手动"执行这些操作仍然更快.有时我也有必须将值转换为整数的情况:
try:
some_var = int(dict.pop("something"))
except KeyError:
error_handler_or_other_stuff("no such key")
except ValueError:
error_handler_or_other_stuff("bad value for key")
Run Code Online (Sandbox Code Playgroud)
现在,带有异常的解决方案看起来相当不错,因为我可以一步完成两个检查,同时也从dict中删除了原始的键/值对,这是问题的一部分.所以我至少可以说:它看起来像一个优雅的解决方案.但是我不确定它是否更快,或者它是否有其他缺点我应该担心.
javascript ×4
canvas ×2
python ×2
button ×1
css ×1
exception ×1
focus ×1
forms ×1
html ×1
performance ×1
python-3.x ×1
scaling ×1
select ×1
webgl ×1