我有这个代码:
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%肯定.它绝对不是除法运算符.谢谢.
您好,有人可以向我解释为什么这段代码不起作用?
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) 同一个人可以向我解释什么是元循环翻译?维基百科上的定义是:
元循环求值器是自解释器的一种特殊情况,其中父解释器的现有设施直接应用于被解释的源代码,而无需额外的实现.
但我不知道如何理解句子:"自译器,其中父解释器的现有设施直接应用于被解释的源代码".
在stackoverflow上,我发现答案说元循环解释器是自解释器,没有任何附加功能,所以我很困惑.
提前致谢
我在Smalltak中是noobie,但我需要了解一些我的论文.创建字符串或任何其他对象时到底发生了什么?例如,让我们这样做:
fruit <- 'apple'
Run Code Online (Sandbox Code Playgroud)
当我尝试检查对象水果时,我发现它有5个真实的变种.如果我将'梨'分配给水果,它将有4个真正的变种.所以解释器创建了bytestring的新实例,为每个字符添加了必需的inst变量并为它们分配了适当的值?我相信还有更多事情发生,但我无法在任何地方找到它,我没有时间正确学习smalltalk.你能解释一下,或者给我一些我能找到的链接吗?
如何在特定文件中创建可见变量/函数?例如,假设我有这样的文件层次:
啊
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我怎样才能实现这个目标?
我在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属性,但似乎没有任何效果.你知道我做错了什么吗?