Racket 发送表单和 get-the-snip-class-list

问题描述

我在文档中没有看到这种形式的发送表单,但是如果我在下面的代码中从 (get-the-snip-class-list) 中去掉括号,我会收到一条错误消息,指出目标发送形式是一个过程而不是一个对象。通常,在使用发送表单时,我不会在对象周围放置括号,也不会出现错误。下面的代码究竟发生了什么,以至于它需要在 get-the-snip-class-list 表达式周围加上括号?这些括号的作用是什么——是一种强制转换吗?

#lang racket/gui

(define chess-piece-snip-class
  (make-object
   (class snip-class%
     (super-new)
     (send this set-classname "chess-piece-snip"))))

(send (get-the-snip-class-list) add chess-piece-snip-class)

以上代码来自 https://gist.github.com/alex-hhh/4b534a8f5633a4ee65a605822a85dfe3 ,并且在讨论代码博客部分中,对于发送表单目标周围的括号没有明确的注释。这是有关此 .rkt 的博客文章链接https://alex-hhh.github.io/2018/10/chess-game-using-racket-s-pasteboard.html

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)