0

condステートメントで他の条件が満たされない場合、デフォルト値を返そうとしています。PicoLispでこれを達成するにはどうすればよいですか?

(de fib (n)
  (cond
    ((= n 0) 0)
    ((= n 1) 1)
    (+ (fib (- n 1)) (fib (- n 2))) ) )

(prinl (fib 1)) # prints 1
(prinl (fib 5)) # prints nothing
(bye)

この参照コードでコード化された例

(let (Foo "bar")
  (cond
    ((not Foo) "No foo for you")
    ((lst? Foo) (map 'my-list-function Foo))
    ((= Foo "bar") "Foobar")
    "Nothing is true" ) )
4

1 に答える 1

1

Tでデフォルト値を返すには、グローバルを使用する必要がありますcond

(de fib (n)
  (cond
    ((= n 0) 0)
    ((= n 1) 1)
    (T (+ (fib (- n 1)) (fib (- n 2)))) ) )

(prinl (fib 1)) # prints 1
(prinl (fib 5)) # prints 5
(bye)
于 2021-06-07T17:37:05.277 に答える