我试图了解其行为let.为什么case2会给我一个错误?
;; case1: worked fine.
(let ((NF 5)) NF)
5
;; case2: got an error
(let ((NF 5)) (eval 'NF))
error: The variable NF is unbound
Run Code Online (Sandbox Code Playgroud) 我是网络开发的新手,我只是想知道一些性能比较.
我正在网上建立一个俄罗斯方块战斗游戏.大多数游戏逻辑都在服务器内部,该服务器是用C++构建的.对于客户,我打算使用cocos2d-js,这基本上是javascript.
玩家的行为会影响对手.首先,用户的输入需要正确到达服务器,服务器将输入应用于逻辑,并将新的游戏状态发送回客户端.客户端只需要在屏幕上表示精灵.
我最初的计划是使用TCP套接字实现它,因为它可能需要低延迟.但是,我刚刚意识到我们不在网络上使用TCP套接字.
在这种应用程序中使用HTTP连接是否可行?我应该试试网络套接字吗?优缺点都有什么?
我试图在visual studio 2013上使用linux内核头文件.我想这样做是为了自动完成目的.
我注意到,文件stdio.h是C里面:\ Program Files文件\的Visual Studio 12.0\VC\CRT\SRC,所以我复制我的Linux文件夹,其中包含内核头文件,进入src文件夹.但是,Visual Studio似乎没有找到这些头文件.
例如:
#include <linux/kernel.h>
它说错误:无法打开源文件"linux/kernel.h"
我试图将所有斜杠字符更改为反斜杠,但是,它不能解决问题.如果我想让visual studio知道这个头文件是否存在,我该怎么办?
我知道我可以将kernel.h移动到我当前的文件夹并使用 #include "kernel.h"
但是,我想将系统头文件保存在我的计算机中,并#include <linux/kernel.h>在需要时使用.
我的目录结构如下所示:
folder
????subfolder
????subsubfolder
Run Code Online (Sandbox Code Playgroud)
我有一个Main.java folder并Main.java使用里面的类subsubfolder.我是这样做的:
import subfolder.*;
import subfolder.subsubfolder.*;
Run Code Online (Sandbox Code Playgroud)
但是,当我执行时,我收到了消息 javac Main.java
$ javac -g Main.java
Main.java:23: error: cannot access Node
Node root = new Node();
^
bad class file: ./subfolder/subsubfolder/Node.class
class file contains wrong class: subsubfolder.Node
Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error
Run Code Online (Sandbox Code Playgroud)
我导入类文件的方式有误吗?
结果说12。
该函数foobar存储在内存中的什么位置?
#include <iostream>
using namespace std;
struct ABC_ {
int a;
int b;
int c;
int foobar(int a) {
return a;
}
};
int main() {
ABC_ ABC;
cout << sizeof ABC;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 在我的理解中,lisp中的所有东西都是原子或一对.
字符串被视为原子吗?
如果字符串只是字符序列或字符串,lisp编译器如何知道?
是什么区别foo,'foo并"foo"带来什么影响?
如何在开始时禁用包锁?
我试图把(sb-ext:disable-package-locks sb-alien)在.sbclrc,
但是,它似乎并不奏效.
输入:未排序列表/输出:排序列表
我的基本想法是在排序列表中插入一个整数.
(如果我可以将第一个元素插入到排序的尾部,我可以对列表进行排序.)
我使用了"insert",这是helper的功能.
然而,它会溢出.Couuld有谁告诉我这是什么问题?
let rec sort (l: int list) : int list =
match l with
[]->[]
| x::[]->[x]
| x1::x2::xs->let rec insert (n,dest) =
match dest with
[]->[n]
| y::[]-> if n<y then [n;y] else [y;n]
| y1::y2::ys-> if y1<y2 then n::dest else y2::insert(y1,xs)
in insert(x1,sort(x2::xs)) ;;
Run Code Online (Sandbox Code Playgroud) char **w = c->u.word;
printf ("%*s%s", indent, "", *w);
Run Code Online (Sandbox Code Playgroud)
好的,目前,作为字符串值*w保存"true".
我访问它没有问题.
indent是整数值,即2.
首先,我不明白printf函数在这种情况下是如何工作的.看起来它有四个参数.其次,我预计输出为"真实",但我什么也没得到.它为什么会这样?
我知道这是一个愚蠢的例子,但我确实想知道它是如何工作的.
通常,后增量给出旧值并在之后将变量加1.
int a = 1;
a = a++;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
在第3行,它打印出"1".为什么保持不变?
根据我的理解,在第2行,右侧为变量a分配1.
后增量"++"将1加1.不应该是2而不是1吗?