3
我發現在一些演示代碼中,使用了*x
和x*
。有時候,這顆恆星也用於類型,如*int xs
。在幫助中,僅記錄了Var*
的模式。在模式變量之前或之後放置星星有什麼區別?`* x`和`x *`是否有區別?
我發現在一些演示代碼中,使用了*x
和x*
。有時候,這顆恆星也用於類型,如*int xs
。在幫助中,僅記錄了Var*
的模式。在模式變量之前或之後放置星星有什麼區別?`* x`和`x *`是否有區別?
好問題。答案是既肯定又否定:
*
已過時,因爲它觸發與語法歧義後修復傳遞閉包在對事物的表達方面有些怪異上下文。這不會發生在模式中,但爲了保持一致性,我們希望前綴*
表示模式中的「splat」,表達式中的「splice」作爲雙重操作符,並刪除後綴*
以避免混淆。否:當應用於模式中的變量時,它們將具有相同的語義。所以,請使用前綴+
和前綴*
時可能避免升級的痛苦在未來,當我們從語言中刪除後綴*
和+
。
感謝您的回答。但我想你想交換「不」和「是」,不是嗎。爲了確保我的理解正確,對於_cluster_模式和_splice_表達式,應該使用前綴'+'和'*',因爲後綴語法將在關係操作上保留_only_。 – day
你是對的!謝謝;-)會改變答案。 – jurgenv