作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我搜索了documentation对于 Racket(语言;非类型化),并且无法确定是否可以为非可变结构提供可选参数。我希望能够做到:
(struct q-a-website (name interest-value #syntax? some-optional-field))
... (q-a-website "stack-overflow" 42 "My name is Jon Skeet") ...
... (q-a-website "quora" -inf.0) ...
#syntax?
只是一个占位符,我怀疑可能存在一些特殊语法以使以下字段成为可选。有没有办法让你日常的、不可变的、普通的结构在基础 Racket 中具有可选参数?
#syntax?
中。堵塞。
struct
标记持保留态度,因为它提到了 Racket 不属于的 C 语言系列......)
最佳答案
我认为做你想做的最简单的方法是创建一个具有可选参数的“构造函数”,如下所示:
#lang racket
(struct q-a-website (name interest-value optional-field))
;; make a q-a-website
(define (make-q-a-website name interest-value [optional-field #f])
(q-a-website name interest-value optional-field))
;; try making it with and without the optional argument:
(make-q-a-website "stack-overflow" 42 "My name is Jon Skeet")
(make-q-a-website "quora" -inf.0)
关于struct - 可选结构字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920102/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!