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