enum是否有任何扩展功能可以指定每个编译器上的C 大小?
Gambit-C 的 GC 机制是什么?我很好奇这个用于制作交互式应用程序。我想知道它是否可以避免突发GC操作。
在这个例子中,
> (= 1 1)
#t
> (= 'a 'a)
*** ERROR IN (console)@2.1 -- (Argument 1) NUMBER expected
(= 'a 'a)
1>
Run Code Online (Sandbox Code Playgroud)
如何测试带引号的符号的相等性?
我是Smalltalk的新手.我已经阅读了一些关于它的文章和文档,我对其概念的完整性感到惊讶.它提供了某种实时调试.
无论如何,对于程序错误,错误意味着程序逻辑错误,并且程序的所有累积突变都是无效的.为了保证完整性,应该从某个点重新启动整个程序,并且应该回滚整个程序状态.
Smalltalk如何处理这个问题?(也许这个问题可以应用于所有动态REPL语言...)
Smalltalk对象thisContext看起来奇怪而奇妙.我无法理解它是什么以及它是如何工作的.甚至它如何实现延续.
对于C的调用栈,我可以很容易地想象它是如何实现和工作的.但为此......我做不到.请帮我理解一下.
我想接口的Lua使用Objective-C,我觉得字符串转换与NSSelectorFromString()有太大的开销,因为lua有复制所有字符串内在它们(虽然我不知道这个).
所以我试图找到更轻量级的方式来表示Lua中的选择器.Objective-C选择器是一种抽象类型,但它被定义为指向某事物的指针:
typedef struct objc_selector *SEL;
Run Code Online (Sandbox Code Playgroud)
因此,作为常规指针处理它看起来很安全,所以我可以将其传递给Lua lightuserdata.这样好吗?
对于大多数迭代块,签名定义为:
void(^)(id obj, BOOL* stop)
Run Code Online (Sandbox Code Playgroud)
使用返回值来停止标志看起来更好.
BOOL(^)(id obj)
Run Code Online (Sandbox Code Playgroud)
但是我相信有充分的理由让他们决定使用当前的形式而不是更简短和方便的形式.为什么他们使用参数停止标志?
我不太了解Smalltalk,但我知道一些Objective-C.而且我对Smalltalk很感兴趣.
它们的语法有很多不同,但基本的运行时结构(即功能)非常相似.运行时支持运行时功能.
我认为两种语言在这个意义上非常相似,但Smalltalk上有许多功能在Objective-C运行时没有.例如,thisContext它操纵调用堆栈.或者non-local return解除块执行.该block秒.它只在Smalltalk上,无论如何它现在也在Objective-C上实现.
因为我不是Smalltalk的专家,所以我不知道那种功能.特别适合高级用户.Smalltalk中仅提供哪些功能?基本上,我想知道Smalltalk的高级功能.所以在Objective-C上已经实现的功能就可以了block.
如果多个用户访问基于文件的SVN存储库同时提交很多东西,SVN能保证数据完整性吗?如果是,如何?或者,如果不是我应该在多用户情况下使用什么服务方法?
smalltalk ×3
objective-c ×2
scheme ×2
c ×1
callback ×1
callstack ×1
canvas ×1
comparison ×1
enums ×1
equality ×1
frameworks ×1
gambit ×1
html5 ×1
integrity ×1
ios ×1
lua ×1
multi-user ×1
pointers ×1
selector ×1
size ×1
stack-frame ×1
svn ×1
vsync ×1