到目前为止,我在DecisionTree.h文件中的所有内容都是
namespace DecisionTree
{
public static double Entropy(int pos, int neg);
}
Run Code Online (Sandbox Code Playgroud)
而Visual Studio已经突出public并强调了这一点
错误:预期声明.
我错过了什么?
我正在尝试编写一个可以使用可选和关键字参数的Lisp函数.功能开始了
(defun max-min (v &optional max min &keyword (start 0) (end nil))
Run Code Online (Sandbox Code Playgroud)
当我尝试使用关键字参数而不是可选的参数调用函数时,我收到错误.我想做的是
(max-min #(1 2 3 4) :start 1 :end 2)
Run Code Online (Sandbox Code Playgroud)
我收到了错误 Error: :START' is not of the expected type REAL'
我认为这是因为它试图绑定:start到max.我怎样才能让它发挥作用?谢谢.
我试图在lisp中编写一个宏,它返回传递给它的第n个表达式,并且只计算该表达式.例如:
(let ((n 2))
(nth-expr n (/ 1 0) (+ 1 2) (/ 1 0)))
Run Code Online (Sandbox Code Playgroud)
应该返回3.我得到除以0的错误.我的宏定义如下:
(defmacro nth-expr (n &rest expressions)
(let ((i (gensym))
(expr (gensym)))
`(do ((,i 1 (1+ ,i))
(,expr ,expressions (cdr ,expr)))
((= ,i ,n) (car ,expr)))))
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?谢谢.
编辑:
感谢@Vsevolod Dyomkin帮助我完成上述部分.现在还有一个问题.当我尝试做的时候
(let ((n 3) (x "win") (y "lose"))
(nth-expr n (princ x) (princ x) (princ y) (princ x)))
Run Code Online (Sandbox Code Playgroud)
我收到了错误Error: Attempt to take the value of the unbound variable 'Y'.
我的更新代码如下所示:
(defmacro nth-expr (n &rest expressions) …Run Code Online (Sandbox Code Playgroud) 看来我对多线程应用程序真的不太好.我试图打开一个FolderBrowserDialog,但我得到一个例外告诉我:
Current thread must be set to single thread apartment (STA) mode before OLE calls can be made.
我已经STAThreadAttribute在我的Main方法中设置了,但是从我的主线程以外的线程调用FolderBrowserDialog.我试过了
Thread.CurrentThread.SetApartmentState(ApartmentState.STA);
Run Code Online (Sandbox Code Playgroud)
但这给了例外Failed to set the specified COM apartment state.
我有一个临时修复,在STA模式下创建一个新线程并打开FolderBrowserDialog,但我想有一个更整洁的解决方案.是什么原因导致无法将公寓状态设置为STA?
我在查找如何在eclipse中下载和使用xstream时遇到了一些麻烦.当我从网站下载二进制发行版时,我得到一个zip文件.我应该在哪里提取它,我该如何使用它?
编辑:
好的,我已经将它添加到我的构建路径中,但是现在当我尝试使用XStream序列化ArrayList<Earmark>where Earmark我是已定义的类时,我收到以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException
at com.thoughtworks.xstream.XStream.<init>(XStream.java:334)
at examples.TestEarmarkExtractor.SerializeEarmarks(TestEarmarkExtractor.java:19)
at examples.TestEarmarkExtractor.main(TestEarmarkExtractor.java:48)
Caused by: java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
Run Code Online (Sandbox Code Playgroud)
更新:在尝试序列化之前发生错误.它发生在线上
XStream xs = new XStream();
Run Code Online (Sandbox Code Playgroud) 该程序应该保存几个点,并根据要求将它们放出.该程序包含一个.h文件和两个.c文件.这是我得到的编译器信息:
prog.c:46:25:致命错误:pointstack.h:没有这样的文件或目录#include"pointstack.h"
我错过了什么?
//File: pointStack.h - Headerfile
#ifndef POINTSTACK_H
#define POINTSTACK_H
#include <stdio.h>
#include <stdlib.h>
//structs
//struct for coordinates
struct point
{
float rX;
float rY;
float rZ;
};
typedef struct point POINT;
struct stackPoint
{
POINT p;
struct stackPoint *next;
};
typedef struct stackPoint STACK_POINT;
typedef STACK_POINT *STACK_POINT_PTR;
//functions
void push(POINT pushPoint);
POINT pop();
int isEmpty();
void printStackElement(POINT aPoint);
#endif
Run Code Online (Sandbox Code Playgroud)
//File: pointstack.c - functions of stack program
#include "pointstack.h"
//global variable
STACK_POINT_PTR stackTop = NULL;
void push(POINT pushPoint)
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试模拟一些代码,这些代码通过写入作为参数传递给函数的引用之一来返回信息。有没有办法模拟这种行为的好方法,这样我就可以让测试代码确定将什么值写入该变量?
我的例子是这样的
for my_key in my_dict.keys():
my_dict[my_key].mutate()
Run Code Online (Sandbox Code Playgroud)
是否定义了上述代码的行为(假设my_dict是一个字典并且mutate是一个改变其对象的方法)?我担心的是,改变字典中的值可能会使字典键上的迭代器无效.
在另一方面,Python文档中的keys方法表明,它返回一个列表.如果是这样,我应该(我认为)能够改变字典的值并且仍然安全地访问字典的每个元素,只要我不改变,添加或删除任何键.那是对的吗?
我正在尝试编写一个更高阶的Racket函数,该函数接受一个变量的一阶函数并返回其反函数.我知道它必须从这样的事情开始:
(let [(inverse (lambda (f)
(lambda (y)
... )))])
我想这是因为inverse必须返回一个函数,该函数的功能y,并返回x这样(= (f x) y).换句话说,逆的契约是这样的:
; inverse : (number? -> number?) -> (number? -> number?)
Run Code Online (Sandbox Code Playgroud)
我只是难过想弄清楚elipses在哪里?
编辑:为了回应人们说这是不可能的,我愿意接受一个反函数,当给定y返回一个可能的x.在回复关于没有反转功能的评论时,请注意我所拥有的合同f.它是一个(number? -> number?)映射,因此具有逆.
sprintf在C中是否有一个格式说明符,它将a映射char到十六进制的方式与%x映射int到十六进制的方式相同?