小编and*_*uem的帖子

得到所有对象的字段

在球拍中是否可以同时获取物体的所有区域?

我想基本上将对象转换为哈希表,其中字段名称为键,字段值为值.

我找到了一个函数(field-names obj),但后来我不知道如何使用返回的字段名来从obj中获取值.该函数get-field可用于获取字段的值,但我不知道如何使用它的值:

> (define x% (class object% (init-field x y) (super-new)))
> (define obj (make-object x% 1 2))
> (get-field x obj)
1
> (field-names obj)
'(y x)
> (define field-name (second (field-names obj)))
> field-name
'x
> (get-field field-name obj)
get-field: given object does not have the requested field
  field name: field-name
  object: (object:x% ...)
  errortrace...:
  context...:
    /usr/lib/racket/collects/racket/private/class-internal.rkt:4906:0: obj-error29
    /usr/lib/racket/collects/racket/private/misc.rkt:87:7
Run Code Online (Sandbox Code Playgroud)

field object racket

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

标签 统计

field ×1

object ×1

racket ×1