作者godfat (godfat 真常)
看板PLT
标题Re: [问题] 程式语言大部分是 Turing Complete 的吗?
时间Thu Jul 2 10:27:27 2009
fixed typo
※ 引述《noctem (noctem)》之铭言:
: 似乎是有点像呢。None 是... 任何 type 的 subtype 吗?
: 所以 undef 可以放到任何上下文里面。即使我宣告一个
: 没有 constructor 的 type (有这个东西吗?),undef
: 也可以当作他的成员?
我不是很确定 subtype 的确切定义,不过这边的 None 是可以
implicitly cast 成任何的 type, 因此可以放到任何上下文没错。
至於没有 constructor 的 type 嘛... 就我所知,C++ 即使没有定义
constructor, compiler 也会自动帮你生一个,所以...
是可以把 constructor 宣告成 private, 然後不去定义他。
这种状况下可以确保绝对不会产生这个 type 的 value,
因为任何可能会产生 value 的情况都会导致 compile error.
(i.e. cannot access private constructor)
说是这样说啦... XD
刚刚测试却很奇怪,在有 return type 却没有真正 return value 的
function 里,像是前面提到的:
None undef(){}
这样似乎仍然会产生一个 None 的 temporary value 出来,
就算 constructor 不存在,也确实没有呼叫到...
这边可能要看看 spec 是怎麽写,还有 compiler 是怎麽做的了,
我不是很清楚 @@ 或许跟 stack 有关... 因为产生的 value 满怪的 O_o
我想 C++ 大概还是不适合玩这些吧... XD
只是正好有一些地方似乎有点神似?
: 以後你可以去多教别人罗~
如果有人想听,也不介意可能会讲错的话... XD
--
#!/usr/bin/env ruby [露比] /Programming (Kn|N)ight/ 看板《Ruby》
# if a
dog nailed
extra legs that
http://webptt.com/cn.aspx?n=bbs/Ruby/index.html
#
walks like an octopus, and Welcome ~
Ruby@ptt~
#
talks like an octopus, then
◢█◣ http://www.ruby-lang.org/
# we are happy to treat it as
█ http://www.ruby-doc.org/
# if it were
an octopus.
◥ ◤ http://www.rubyforge.org/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.121.85
※ 编辑: godfat 来自: 220.128.121.85 (07/02 10:29)