小编afe*_*par的帖子

我如何解释"天真的实现"是什么?

什么是计算机科学家对"幼稚实施"的意思最清楚的解释?我需要一个很好的清晰的例子来说明 - 理想情况下,即使是非技术人员 - 这种天真的实现在技术上可能是解决问题的有效方法,但实际上完全无法使用.

language-agnostic complexity-theory

32
推荐指数
4
解决办法
8237
查看次数

任何功能语言本能支持分而治之吗?

对不起,我无法找到在标题中更清楚地表达问题的方法,但基本上就是这样:几乎所有函数式语言都有允许你通过尾递归处理变量参数列表的结构,如在这个Erlang-ish伪代码中总结了一个数字列表:

sumup(0,A) -> A.
sumup(N,A) -> sumup(N) + A.
Run Code Online (Sandbox Code Playgroud)

然而,函数式语言对我的一个重要吸引力是它们固有的并行性.即使诸如总结一个数字列表之类的问题显然是可以并行化的,并且几乎肯定会通过分而治之的方式最有效地处理,但我并不知道语言功能使这成为一种自然的编程方式.事实上,除非语言具有允许读取基于给函数的参数的数量和基于索引检索参数的功能,我没有看到一个人如何做到这一点.是否有任何功能语言具有鼓励分而治之的编程的功能?

functional-programming

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

多次 Dim 变量是否有害?

这似乎是一个非常基本的问题,但我仍然找不到答案。

在 VBScript 中,使用 Dim 语句多次声明相同的标量变量有什么害处吗?

我正在从事一些相关项目并开发一些我想重用的代码片段。但是,我有点担心使用两次使用相同变量名的代码是否存在问题,如下所示:

Dim i
for i = 1 to Count
    '* doin' somethin' here
next

Dim i
for i = 1 to UnrelatedOtherCount
    '* doin' somethin' different yo
next
Run Code Online (Sandbox Code Playgroud)

它不仅仅是迭代循环变量;我可能在脚本中有多个地方使用了正则表达式。如果我的脚本使用了两段重复使用的代码,并且每一段都使用一个“patternString”变量并首先声明变量:

'* first section of code from the folder
Dim objPersonRegex, patternString
Set objPersonRegex = new RegExp
...

'* a completely different section of code
Dim objBuildingRegex, patternString
Set objBuildingRegex = new RegExp
Run Code Online (Sandbox Code Playgroud)

我的直觉是,这不应该是一个问题,Dim 只是创建一个给定名称的变量(如果它尚不存在),如果存在,则继续,因为它被告知要做的事情已经完成了。但事实真的是这样吗?如果重要的话,这些是在 Windows Script Host 上运行的脚本。

(为了澄清我所担心的事情,我根本担心变量的值被破坏。如果我需要保留变量的值,我会将其保存在另一个变量中,一个 …

vbscript wsh

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

是否有可能从Go中的一些goroutine中获得结果?

我刚才刚刚了解了Google的编程语言Go.我对它提供的并发支持很感兴趣,并着手了解它的更多信息.但是,我去看看Go如何实现并发的特定功能,到目前为止我还没有看到任何证据表明这个功能完全存在.

这是一个假设的情况:假设我们正在编程一个函数来确定特定输入的Foo值.对于任何给定的输入,Foo值可以在域A或域B中找到(不在两者中).在这些域中搜索的技术是完全不同的,但它们共享成功搜索倾向于快速返回的属性,而不成功的搜索必须遍历整个数据集才能详尽无遗,因此需要很长时间.

现在,在其他采用并发的语言(例如Cilk)中,可以对Foosearch函数进行编程,以便生成Asearch函数和Bsearch函数.这些函数将同时运行,并且每当它们中的任何一个得到答案时,该答案将被报告给调用函数Foosearch,它将终止它已经生成但未返回的任何函数.

但是,使用Go的goroutines,看起来你只能通过一个频道连接两个例程 - 所以你无法设置Asearch或Bsearch可以发送的频道,具体取决于首先找到答案,并从中读取Foosearch它.它看起来你不能在没有阻塞的情况下从频道读取 - 所以你不能让Foosearch启动Asearch和Bsearch并从两者设置频道,然后在循环中运行检查是否有一个或哪个产生了一个答案.

我对Go的并发限制的理解是否正确?还有另一种方法可以达到给定的结果吗?

concurrency go goroutine

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

为什么jQuery语法如此奇怪 - 它甚至如何被解析?

我正在尝试理解jQuery,但是我对语法看起来很陌生而受到阻碍.我甚至不理解常规JavaScript解析器如何解析它!我可以阅读示例代码,我将从附带的材料中了解它正在做什么,但我不明白如何.

我知道这$只是jQuery的别名,但这并没有回答这个问题.使用经典的jQuery函数来延迟事物直到页面完全加载:

$(document).ready(function() {
  ...
});
Run Code Online (Sandbox Code Playgroud)

或jQuery选择器,选择pDOM中的所有元素并应用CSS规则:

$('p').css('color', 'blue');
Run Code Online (Sandbox Code Playgroud)

所以......莫名其妙地document'p'被认可的钥匙,并用适当的值相关联的,对不对?除了它似乎不是真的,因为然后jQuery必须预先计算它将要返回的任何可能的键返回的结果,包括jQuery可能无法知道的元素id!那它究竟是如何起作用的呢?

(编辑以修复描述代码时的错误)

javascript jquery

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