我正在尝试与SICP,我有一些代码。 所以我开始: #lang scheme (word 'comp 'uter) 返回错误:函数(字)未定义。 即使我试图将其复制到IDE(运行): (define word? (let ((number? number?) (symbol? symbol?) (string? string?)) (lambda (x) (or (symbol? x) (number? x) (string? x))))) 还是一样。 我认为这可能是语言版本或其他问题。 以上是来自“Simply Scheme”,当我在SICP中准确地引入代码时: (define (sqrt x) (sqrt-iter 1.0 x)) IDE未定义返回sqrt-iter 。 代码可以在第一章中find: http : //mitpress.mit.edu/sicp/code/index.html
当我debugging我的项目,我得到以下错误: “无法将文件”obj \ Debug \ My Dream.exe“复制到”bin \ Debug \ My Dream.exe“。进程无法访问文件”bin \ Debug \ My Dream.exe“,因为它被另一个处理。” 使用进程资源pipe理器,我看到MyApplication.exe出来了,但系统进程仍然使用它,虽然我停止debugging之前。 每当我改变我的代码,并开始debugging它将发生。 如果我将项目复制到USB并debugging,它运行正常。 为什么? 我该如何解决这个错误? 我使用Window 7 Professional。 用XP我从来没有得到这个错误。
我一直在使用NuGet来从外部和内部包源中检索包,这非常方便。 但是我已经意识到,软件包默认存储在每个解决scheme中,当一些NuGet参考项目包含在几个解决scheme中时,这是非常令人沮丧的。 然后,引用被更改为其他解决scheme包文件夹,实际上可能对其他开发人员或构build机器不可用。 我已经看到,在NuGet的2.1版本中,有许多方法可以指出一个通用的软件包位置(可能在项目的根目录下,我们使用的是TFS源代码控制),请参阅发行说明 。 我正在使用NuGet v2.7 但我已经尝试添加nuget.config文件,而没有看到任何影响。 包仍然存储在解决scheme文件夹中。 有什么我错过了吗? 似乎有不同的XML节点的结构添加到nuget.config文件,这取决于谁回答这个问题:Schwarziebuild议在另一个Stackoverflow线程 : <settings> <repositoryPath>..\..\[relative or absolute path]</repositoryPath> </settings> NuGet 2.1的发行说明(参见上面的链接)build议这种格式: <configuration> <config> <add key="repositoryPath" value="..\..\[relative or absolute path]" /> </config> </configuration> 我不知道这其中哪一个,哪一个或哪一个最终会工作。 我已经在解决scheme层面尝试过。 nuget.config文件可以放在TFS项目的根目录下,还是必须在解决scheme目录下? 看起来,NuGet按照一定的顺序读取和应用这些文件中的设置,为什么将它们添加到多个级别是有意义的,其中解决scheme级别上的nuget.config文件将覆盖TFS项目根级别上的一个。 这能澄清吗? 我需要删除所有已安装的软件包之前,这些引用将工作? 如果有人能够提供从解决scheme特定的nuget使用情况到共同的包文件夹的分步说明,那么这个项目属于几个解决scheme,可以find他们需要的nuget包。
首先,我知道这个: 你将如何为内部软件项目组织一个Subversion版本库? 接下来,真正的问题是:我的团队正在重组我们的存储库,我正在寻找如何组织它的提示。 (在这种情况下是SVN)。 这是我们想出来的。 我们有一个存储库,多个项目和多个svn:外部交叉引用 \commonTools /*tools used in all projects. Referenced in each project with svn:externals*/ \NUnit.v2.4.8 \NCover.v.1.5.8 \<other similar tools> \commonFiles /*settings strong name keys etc.*/ \ReSharper.settings \VisualStudio.settings \trash /*each member of the team has trash for samples, experiments etc*/ \user1 \user2 \projects \Solution1 /*Single actual project (Visual Studio Solution)*/ \trunk \src […]
如果我可以在命令式语言中使用一个数组,或者在C ++中使用map(tree-structure),那么这非常简单。 在计划中,我不知道如何开始这个想法? 任何人都可以帮助我吗? 谢谢,
我想知道这些操作之间有什么不同。 我在堆栈溢出中看到了类似的问题,但是它们是关于Lisp的,并且没有三个操作符之间的比较。 所以,如果这已经被问到,请让我知道。 我在Scheme中编写不同types的命令,并得到以下输出: (eq? 5 5) –>#t (eq? 2.5 2.5) –>#f (equal? 2.5 2.5) –> #t (= 2.5 2.5) –> #t 有人可以解释为什么是这样吗?
直接问题:如何在Visual Studio 2010中创build一个简单的hello world CUDA项目? 背景:我写了CUDA内核。 我非常熟悉Visual Studio 2005中的.vcproj文件 – 手动调整了几个。 在VS 2005中,如果我想构build一个CUDA内核,我添加一个自定义构build规则,然后明确定义nvcc调用来构build这些文件。 我已经迁移到Win 7和VS 2010,因为我真的想尝试nSight。 我安装了nSight 1.5。 但这是我完全迷失的地方。 如果我像以前一样继续,nvcc报告它只支持msvc 8.0&9.0。 但网站明确指出,它支持VS 2010。 我读了其他地方,我需要VS 2008(msvc 9.0)也安装 – 我的话。 现在这样做。 但是我猜测我的问题至less有一部分来自于自制的定制构build工具规范。 有几个 网站提到将* .rules文件添加到构build中,但是我已经知道这只适用于VS 2008.在“构build自定义”下,我看到了CUDA 3.1和3.2,但是当我添加内核到项目中时,它们并不是没有build立。 另一个网站宣称,关键是三个文件: Cuda.props Cuda.xml Cuda.targets ,但它没有说如何或在哪里添加这些文件 – 或者说,我会赌博,我只是不明白的笔记在网站中引用。 那么有没有人知道如何在VS 2010中创build一个简单的项目来构buildCUDA内核 – 使用nSight 1.5安装程序还是使用CUDA 3.2 RC附带的NvCudaRuntimeApi.v3.2.rules文件? 提前致谢! 我会提供一个赏金,但我只有总共65点。
我是Scheme编程的初学者。 我知道Scheme中的点符号用来表示一对符号,例如'(a . b) 。 第一个元素可能是一个符号,或者一个列表,没关系。 但特别是第二个元素必须是一个符号,如果不是,可能是一个列表,那么我们不能创build一个内置的cons过程的对。 那么是否有可能创build一个2列表对? 那么我想一个解决scheme是将列表转换为符号,但实际上这是完全不同的事情 – >我不明白。 这是我写的代码: (define compare-attrs (lambda (attribute1 attribute2) (if (or (and (null? attribute1) (null? attribute2)) (and (not (null? attribute1)) (not (null? attribute2)))) (cons attribute1 attribute2) #f))) 其中attribute1和attribute2是2列表,我的输出是: attribute1 atrribute2 预期输出:'(attribute1。attribute2) 请解释一下。 预先感谢!!! 编辑:添加使用比较attrsfunction 函数compare-att用于提取描述实体属性的部分,并使它们成对,定义如下的实体: (entity e0 (prov:label "entity e0") (entity e1 (prov:location "London") 所以这些实体的属性是(prov:label "entity e0")和(prov:location […]
我有一个简单的球拍定义,用于将二进制数字相乘。 它使用一个经过充分testing的“addWithCarry”定义,它有三个参数:两个列表和一个进位数字,并返回二进制和。 二进制数字以相反的顺序表示为列表。 我用debugging器遍历testing线,并正确执行recursion。 它会在每次缩小y列表时执行multBins,然后按照预期执行addWithCarry函数。 当它重新堆栈时,它突然抛出一个exception“应用程序:不是一个过程,期望可以应用于参数的过程”,参数“(0 0 0 1 0 1 1)”是最高的值“x”加在总数上。 我知道这个错误可能会发生,当你试图将一个函数的结果作为一个函数与一个参数,但我没有看到这里。 看着debugging器,一切似乎都完美地工作,直到最后。 有任何想法吗? (define (multBins xy) (cond ((null? y) '() ) ((= (first y) 0) ((multBins (cons 0 x) (rest y)))) (#t ((addWithCarry x (multBins (cons 0 x) (rest y)) 0))))) (test (multBins '(1 0 1 1)'(1 1 0 1))'(1 1 1 1 […]
我知道你可以使用' (aka quote ) '来创build一个列表,并且我一直使用它,就像这样: > (car '(1 2 3)) 1 但它并不总是像我所期望的那样工作。 例如,我尝试创build一个像这样的函数列表,但它不起作用: > (define math-fns '(+ – * /)) > (map (lambda (fn) (fn 1)) math-fns) application: not a procedure; expected a procedure that can be applied to arguments given: '+ 当我使用list ,它的工作原理: > (define math-fns (list + – * /)) > (map (lambda […]