事情就是这样:我没有"获得"setf-expanders,并希望了解它们是如何工作的.
我需要了解它们是如何工作的,因为我遇到了一个问题,这似乎是为什么你应该学习setf-expanders的典型例子,问题如下:
(defparameter some-array (make-array 10))
(defun arr-index (index-string)
(aref some-array (parse-integer index-string))
(setf (arr-index "2") 7) ;; Error: undefined function (setf arr-index)
Run Code Online (Sandbox Code Playgroud)
如何为ARR-INDEX编写合适的setf-expander?
我想使用java.awt/javax.swing在一个更大的窗口内有一个单独的图形窗口(以及一个单独的笛卡尔坐标平面),我画了一张图片来告诉你我的意思.
我不知道如何做到这一点,把一些文献扔给我,我可以阅读,以便更好地理解这将是非常好的,我的问题的解决方案将是非常棒的.
PS.我没有真正尝试过任何东西,因为我不知道该尝试什么.
我一直在努力使用Semantic自动完成模式工作,但知道我完全卡住了.我通过语义-aa-complete-symbol成功地进行了语义自动完成(虽然由于某种原因它无法完成malloc(),这很奇怪).
一些.emacs片段:
(add-to-list 'ac-dictionary-directories "~/emacs-src/auto-complete-1.3.1/")
(ac-config-default)
(ac-set-trigger-key "TAB")
(add-to-list 'ac-sources 'ac-source-semantic)
(add-to-list 'ac-sources 'ac-source-gtags)
(add-hook 'c-mode-hook
(defun my-c-mode-hook ()
(auto-complete-mode)
(setq ac-sources '(ac-source-semantic))
(ac-complete-semantic)))
Run Code Online (Sandbox Code Playgroud)
如何使自动完成模式与Semantic一起工作?
考虑一下这段代码:
(defvar lst '(1 1))
(defmacro get-x (x lst)
`(nth ,x ,lst))
(defun get-y (y lst)
(nth y lst))
Run Code Online (Sandbox Code Playgroud)
现在让我们假设我想要更改名为lst的列表元素的值,使用get-x的car和使用get-y的cdr.当我尝试用get-x(使用setf)更改值时,一切都很顺利但是如果我用get-y尝试它会发出错误信号(缩短):
; 陷入STYLE-WARNING:; 未定义的功能:(SETF GET-STUFF)
为什么会这样?
我自己也怀疑,这是因为宏只是展开和函数第n简单地返回到列表中,并在另一方面,功能元素的值的参考评估函数调用到第n和返回参考价值的价值(听起来令人困惑).
我的怀疑是否正确?如果我是正确的,那么如何知道什么只是对价值和实际价值的引用?
为什么我可以轻松地在Python中执行for循环,以按照我添加元素的顺序循环遍历字典的所有元素但是没有明显的方法来访问特定元素?当我说元素我正在谈论一个关键+值对.
我已经看了一些关于Python的基本教程在字典上说的但是没有一个回答我的问题,我也找不到我在docs.python.org的答案.
根据: 访问python字典中的特定元素(Senderies评论),dict应该是无序的,但为什么for循环按照我把它们放入的顺序打印它们?
我可以轻松地创建这样的数组:
int[] someArray = {1,2,3}
Run Code Online (Sandbox Code Playgroud)
那很好.现在,假设我要实例化SomeClass的新对象,构造函数将一些数组作为参数,为什么我不能执行以下操作?
SomeClass someObject = new SomeClass ({1,2,3},{'h','i'})
Run Code Online (Sandbox Code Playgroud)
如何在构造函数中初始化数组?
common-lisp ×2
java ×2
arrays ×1
awt ×1
c ×1
dictionary ×1
emacs ×1
layout ×1
macros ×1
parameters ×1
python ×1
reference ×1
setf ×1
swing ×1