小编Gru*_*rig的帖子

过滤掉对象成员的好习惯用法(javascript)

我想删除一个对象的某些成员(为了参数,那些键以'_'开头).这是一种优雅的方式吗?天真的方式是:

for (var i in obj) 
  if (i[0] === '_') 
    delete obj[i];
Run Code Online (Sandbox Code Playgroud)

但是在迭代期间修改了底层对象.在Node中至少我想我可以

Object.keys(obj).forEach(function (i) { if (i[0] === '_') delete obj[i]; });
Run Code Online (Sandbox Code Playgroud)

每次用尴尬的嵌套循环删除某些内容时重启迭代.

还有更好的解决方案吗?

编辑:刚刚在测试中,至少在node.js中,天真的解决方案实际上似乎有效.当然(有必要)安全地实施...... in当然是可能的.谁知道?

javascript node.js

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

为什么p4 sync -f文件夹没有恢复已删除的文件夹?

(foo是源控制的)

$ rm -rf foo
$ p4 sync -f foo
$ ls foo
ls: cannot access foo: No such file or directory
$ p4 sync -f foo/...
$ ls foo
bar.txt
Run Code Online (Sandbox Code Playgroud)

perforce

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

WebGL:纹理中的零alpha像素是否必然会更新深度缓冲区?

我正在尝试渲染一个混合了全透明像素和完全不透明像素的纹理.看起来我唯一的选择就是将它们从后向前渲染(在所有完全不透明的多边形之后),因为即使是完全透明的像素也会更新深度缓冲区,但我不确定它是否准确.是吗?

似乎片段着色器可以被告知单独留下深度缓冲区用于透明像素,但显然不是.我错过了什么吗?

还有其他一些明智的方法来渲染高度不规则形状的图像,而不是我想不到的许多多边形吗?

alpha-transparency webgl fragment-shader

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

Web Audio API——频率调制在 Chrome / Safari 中听起来不同

我正在为 Web Audio API 合成器开发基于浏览器的修补界面。频率调制(将一个振荡器与另一个振荡器的频率挂钩)在 Chrome 中按预期工作。它应该是一种科幻声音,就像频率波动为30Hz的300Hz正弦波。

在 Safari(和 Mobile Safari)中,听起来只是低沉的隆隆声。听起来好像有FM,但基频不对。这是否只是浏览器的一个怪癖,将在未来的版本中得到解决?现在有解决办法吗?

这是视觉/交互版本:
html5 调频合成器
http://forresto.github.com/dataflow-webaudio/

还有fiddle版本,用最少的代码演示效果:
http ://jsfiddle.net/FVaWL/28/

var mod, modGain, osc;

var out = context.destination;

var startTest = function(){
    mod = context.createOscillator();
    mod.frequency.value = 8;

    modGain = context.createGain();
    modGain.gain.value = 30;

    osc = context.createOscillator();
    osc.frequency.value = 300;

    mod.connect(modGain);
    modGain.connect(osc.frequency);
    osc.connect(out);

    osc.start(0);
    mod.start(0);
};

var stopTest = function(){
    osc.stop(0);
    mod.stop(0);
    mod = modGain = osc = null;
};
Run Code Online (Sandbox Code Playgroud)

javascript web-audio-api

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

检测 Siri Remote 上的音量和主页按钮

检测 tvOS Siri Remote 上的某些按钮按下是相对简单的:暂停/播放按钮、触摸板区域,以及稍微多一点的MENU按钮。但是似乎无法检测或覆盖+-按钮、Siri 或主页按钮的功能。

或者有吗?

gamepad tvos siri-remote

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

本地版的`hg outgoing`?

命令

hg outgoing
Run Code Online (Sandbox Code Playgroud)

将本地仓库与默认推送位置进行比较; 它访问推送位置来完成它.

我想问一个问题"我上次检查了我当地回购中的变化hg push吗?" 无需访问远程仓库.

好像在当地的回购中可能有足够的信息来解决这个问题; 如果有,是否有命令来确定?

mercurial

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

解释这个DSP符号

我正在尝试实现Karplus-Strong弹拨字符串算法的这种扩展,但我不理解那里使用的符号.也许它需要多年的学习,但也许它不会 - 也许你可以告诉我.

我认为下面的等式在频域或其他东西.刚开始使用第一个等式H p(z),即拾取方向低通滤波器.对于一个方向,你使用p = 0,对另一个方向,可能是0.9.在第一种情况下归结为1,或在第二种情况下归结为0.1 /(1 - 0.9 z -1).

alt text http://www.dsprelated.com/josimages/pasp/img902.png

现在,我觉得这在编码方面可能意味着:

H_p(float* input, int time) {
  if (downpick) {
    return input[time];
  } else {
    return some_function_of(input[t], input[t-1]);
  }
}
Run Code Online (Sandbox Code Playgroud)

有人能给我一个暗示吗?或者这是徒劳的,我真的需要所有的DSP背景来实现这一点?我曾经是一名数学家......但这不是我的领域.

audio signal-processing pseudocode filter

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

必须在着色器中使用glUniform/glVertexAttribPointer类型匹配声明类型吗?

GLSL代码和传递数据的本机代码之间的类型必须匹配到什么程度?

例如,假设我有着色器代码:

uniform float uFloat;
uniform int uInt;
in float aFloat;
in int aInt;
Run Code Online (Sandbox Code Playgroud)

和本机伪代码(我遗漏了很多无聊的东西):

glUniform1i(glUniformLocation("uFloat"), 10)
glUniform1f(glUniformLocation("uInt"), 1.414)
glBufferData(int[1, 2, 3, ...])
glVertexAttribPointer(glAttribLocation("aFloat"), 0, GL_INT)
glBufferData(float[1.1, 2.2, 3.3, ...])
glVertexAttribPointer(glAttribLocation("aInt"), 0, GL_FLOAT)
Run Code Online (Sandbox Code Playgroud)

因此,请注意客户端代码中的类型匹配,但它们与着色器代码中的声明类型不匹配.

我要问的是,您是在逻辑层面还是在位表示方面告诉着色器值?

(我知道我似乎应该能够测试这个,但很难调试着色器,我觉得我的行为不一致,所以我只是在寻找确定的信息.)

opengl glsl

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

Haskell中的二进制映射

是否有一个双操作数等效于map内置到Haskell中,其类型签名为:

map2 :: (a -> b -> c) -> [a] -> [b] -> [c]
Run Code Online (Sandbox Code Playgroud)

以下等同性应该成立:

map2 operator as bs === [operator a b | (a, b) <- zip as bs]
Run Code Online (Sandbox Code Playgroud)

例:

ghci> map2 (*) [2,3] [4,5]
[8,15]
Run Code Online (Sandbox Code Playgroud)

haskell

2
推荐指数
2
解决办法
217
查看次数