如何匹配原点?

时间:2018-12-02 01:43:20

标签: racket

我想编写一个仅与单个数据相匹配的模式,例如'a'hello,但不匹配其他任何数据。我不认为以下内容适用于所有内容(例如(list 1 2 3)),对吗?

(define (f x)
  (match x (e (printf "hi~n"))))

1 个答案:

答案 0 :(得分:0)

基准可用作图案。这是一个示例:

#lang racket

(define (f x)
  (match x
    ["hello" "x is hello"]
    [_       "x is not hello"]))

(f "hello")
(f 42)

结果是:

"x is hello"
"x is not hello"

此外,如果您要将固定符号用作模式,请使用'hello而不是hello。第一个'hello匹配一个符号,但是hello是一个模式变量,并且匹配所有内容。