Re: [問題] 程式語言大部分是 Turing Complete 的嗎?

看板PLT (程式語言與理論)作者 (godfat 真常)時間15年前 (2009/07/02 10:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/6 (看更多)
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://www.ptt.cc/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)
文章代碼(AID): #1AJ1iIUI (PLT)
討論串 (同標題文章)
文章代碼(AID): #1AJ1iIUI (PLT)