Scheme有多少个未定义的值?

时间:2019-07-12 20:04:27

标签: scheme undefined

我在https://ds26gte.github.io/tyscheme/index-Z-H-11.html上阅读 tree.girth 返回“ 一个未定义值”。这是正确的吗? Scheme真的会乘以未定义的值吗?

2 个答案:

答案 0 :(得分:3)

“未定义”不是特定值。这是因为返回的值不是语言规范定义的,因此可以是任何值。

某些实现可能具有在这些情况下返回的特定对象,以帮助调试。但是没有必要这样做。而且,没有指定这些对象的不同实例是否彼此相等-它不像#false,它始终是同一对象。

答案 1 :(得分:1)

SQL> with test (street_name) as 2 (select '9 9 House Road' from dual union all 3 select '30 Far Farm' from dual union all 4 select '902 902 My Street' from dual union all 5 select 'Gump Road' from dual 6 ) 7 select street_name 8 from test 9 where regexp_like(street_name, '\d+ \d+'); STREET_NAME ----------------- 9 9 House Road 902 902 My Street SQL> 表示您不得使用返回值-它可以是任何值。

scheme 中,类似Undefined的命令将返回display符号,并在 rack 中返回(即旧的 plt-scheme < / em>)#!unspecific符号。您不应使用void返回的值#!unspecific。这意味着display的值。

undefined

% mit-scheme
MIT/GNU Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.

Copyright (C) 2019 Massachusetts Institute of Technology

1 ]=> (display (display "ok"))
ok#!unspecific
;Unspecified return value