方案中结构体的参数

标签 parameters struct scheme racket

我有一个供人们使用的结构:

(define-struct person  
    (  
    first    ; a string: first name  
    last     ; a string: last name  
    sex      ; a symbol: 'male, 'female  
    eyes     ; a symbol: 'blue, 'brown', 'green  
    hair     ; a symbol: 'blonde, 'brown, 'black, 'red  
    mother   ; a person: empty if not known  
    father   ; a person: empty if not known  
    born     ; a number: year of birth  
    )  
)

然后我让人:

(define P-00000 (make-person "Alexandra" "Harper" 'female 'blue 'red empty empty 1897))  
(define P-10000 (make-person "Joshua" "Sherman" 'male 'green 'blonde empty empty 1881))  
; ... etc

我现在如何访问结构体中的特定参数。举例来说,我想显示 P-00000 的姓氏,我该怎么做?

谢谢

最佳答案

(structname-fieldname struct)

举个例子:

(person-last P-00000)

关于方案中结构体的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009920/

相关文章:

python - 在 Python 中将函数返回值作为方法参数传递

c++ - 为什么参数包扩展在不同的 C++ 编译器中的工作方式不同?

c++ - 转换结构时出错

struct - 为 Rust 新类型自动实现封闭类型的特征(具有一个字段的元组结构)

c++ - fopen 并与磁盘同步

inheritance - 是否可以在 Scheme 中对函数/lambda/宏进行 "extend"处理?

scheme - 为什么 `not-equal?` 和类似的否定比较没有内置到 Racket 中?

jenkins - 如何在声明性 Jenkins 文件内的 Jenkins 多管道中设置响应式(Reactive)选择参数

parameters - 参数 'google' 是方法 setUp 上的@Configuration 所必需的,但尚未标记为@Optional 或已定义

scheme - 为什么这个 Racket 代码没有终止?