Racket 创建结构实例时如何使用关键字参数
假设我有这个结构:Racket 创建结构实例时如何使用关键字参数,racket,Racket,假设我有这个结构: (struct pos (x y)) 我可以使用以下方法创建此结构的实例: (pos 1 2) 假设我想改用关键字参数。例如: (pos #:x 1 #:y 2) 这将导致一个错误: > (pos #:x 1 #:y 2) ; application: procedure does not accept keyword arguments ; procedure: pos ; [,bt for context] 创建结构实例时如何使用关键字参数?您不能使用本
(struct pos (x y))
我可以使用以下方法创建此结构的实例:
(pos 1 2)
假设我想改用关键字参数。例如:
(pos #:x 1 #:y 2)
这将导致一个错误:
> (pos #:x 1 #:y 2)
; application: procedure does not accept keyword arguments
; procedure: pos
; [,bt for context]
创建结构实例时如何使用关键字参数?您不能使用本机
struct
,因此您必须按照@tfb的建议滚动自己的构造函数,或者使用提供此功能的第三方库
结构执行此操作,因此您必须按照@tfb的建议滚动自己的构造函数,或者使用提供此功能的第三方库
我总是通过手工定义构造函数来实现这一点。当我完成这项工作后,我会花一些时间来研究如何定义一些语法来实现这一点,但这总是很难做到。我总是通过手工定义构造函数来实现这一点。当我完成这项工作后,我会花一些时间试图找出如何定义一些语法来实现这一点,但这总是很难做到。