代码之家  ›  专栏  ›  技术社区  ›  Aliaksandr Sushkevich

如何在Racket中通过类字段的名称访问它?

  •  2
  • Aliaksandr Sushkevich  · 技术社区  · 6 年前

    我可以通过定义一个方法来访问类字段,因此 (send joe get-name) 将回报我 Joe . 但是,我是否可以在不添加方法的情况下,只通过调用字段来获得相同的行为,如: (send joe name) ?

    #lang racket
    
    (define person%
      (class object%
        (init-field name)
        (super-new)
        (define/public (get-name) name) ))
    
    (define joe (new person% [name 'Joe]))
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Aliaksandr Sushkevich    6 年前

    我想你在找 get-field .

    使用示例: (get-field name joe)

    如果我误解了你的问题,请告诉我。