小编pet*_*234的帖子

斜杠(/)在prolog中做什么?

我有这个代码:

set_value(X,Value,[X/_|T],[X/Value|T]).
set_value(X,Value,[Y/V|T],[Y/V|NewT):- X\=Y,set_value(X,Value,T,NewT).
set_value(X,Value,[],[X/Value]).
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚做什么/做什么.看起来它配对变量,但我不是100%肯定.它绝对不是除法运算符.谢谢.

operators prolog

8
推荐指数
1
解决办法
2219
查看次数

将ArrayList放入HashMap后的Java StackOverflowError

您好,有人可以向我解释为什么这段代码不起作用?

ArrayList<Object> list = new ArrayList<Object>();
list.add(list);

HashMap<Object, Integer> map = new HashMap<Object, Integer>();
map.put(list, 1);
Run Code Online (Sandbox Code Playgroud)

将列表放到映射后,它会抛出StackOverFlowError.

我知道这段代码没有任何意义,我只是想知道它为什么不起作用.

谢谢!

编辑:

堆栈跟踪:

Exception in thread "main" java.lang.StackOverflowError
    at java.util.ArrayList.get(Unknown Source)
    at java.util.AbstractList$Itr.next(Unknown Source)
    at java.util.AbstractList.hashCode(Unknown Source)
    at java.util.AbstractList.hashCode(Unknown Source)
    ...
Run Code Online (Sandbox Code Playgroud)

java stack-overflow arraylist hashmap

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

什么是元循环翻译

同一个人可以向我解释什么是元循环翻译?维基百科上的定义是:

元循环求值器是自解释器的一种特殊情况,其中父解释器的现有设施直接应用于被解释的源代码,而无需额外的实现.

但我不知道如何理解句子:"自译器,其中父解释器的现有设施直接应用于被解释的源代码".

在stackoverflow上,我发现答案说元循环解释器是自解释器,没有任何附加功能,所以我很困惑.

提前致谢

interpreter self-interpreter metacircular

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

在smalltalk中创建字符串会发生什么?

我在Smalltak中是noobie,但我需要了解一些我的论文.创建字符串或任何其他对象时到底发生了什么?例如,让我们这样做:

fruit <- 'apple'
Run Code Online (Sandbox Code Playgroud)

当我尝试检查对象水果时,我发现它有5个真实的变种.如果我将'梨'分配给水果,它将有4个真正的变种.所以解释器创建了bytestring的新实例,为每个字符添加了必需的inst变量并为它们分配了适当的值?我相信还有更多事情发生,但我无法在任何地方找到它,我没有时间正确学习smalltalk.你能解释一下,或者给我一些我能找到的链接吗?

smalltalk object

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

C++变量范围在多个文件中

如何在特定文件中创建可见变量/函数?例如,假设我有这样的文件层次:

extern int var;
Run Code Online (Sandbox Code Playgroud)

a.cpp

#include "a.h"

int var;
Run Code Online (Sandbox Code Playgroud)

BH

#include "a.h"

void function();
Run Code Online (Sandbox Code Playgroud)

b.cpp

#include "b.h"

void function() {
    var = 0;
}
Run Code Online (Sandbox Code Playgroud)

在main.cpp中我希望能够调用function(),但不能访问var变量

#include "b.h"

int main(int argc, char** argv) {
    function(); /* possible to call */
    var = 0 /* var shouldn't be visible */
} 
Run Code Online (Sandbox Code Playgroud)

我不希望文件啊被包含在main.cpp中 - 只有bh我怎样才能实现这个目标?

c++ scope

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

无法修复Java中的NoClassDefFound错误

我在eclipse中构建项目 - swing applet,现在我正试图在浏览器中运行它.

我有3个软件包,假设它们被称为:"pkgApplet","pkgFirst","pkgSecond"和.class文件.在pkgApplet中,我有方法的类"main" main().无论我做什么,我都无法在浏览器中运行此applet.目前我的HTML代码看起来像这样

<applet code="bin/pkgApplet/main" height="1000" width="1000"/>
Run Code Online (Sandbox Code Playgroud)

无论我如何修改applet标记,浏览器每次都会出现此错误:

NoClassDefFoundError with message bin/pkgApplet/main(wrong name: applet/main)
Run Code Online (Sandbox Code Playgroud)

我尝试使用codebase属性,将applet打包到.jar文件中并使用archive属性,但似乎没有任何效果.你知道我做错了什么吗?

java applet swing noclassdeffounderror japplet

0
推荐指数
1
解决办法
108
查看次数