[英]Haskell to Javascript Lamba function translation
我在haskell中有以下lambda函數:
cup size = \\message -> message size
我想知道JavaScript中的等效版本是什么(出於學習目的),目前我編寫了以下版本,如果正確,我想知道。
const cup = size => (message => message)(size)
您的JavaScript代碼對應於
cup = \size -> (\message -> message) size
在Haskell。 因為\\message -> message
是身份函數,所以這與
cup = \size -> size
這又是身份功能:
cup = id
正確的翻譯是
const cup = size => message => message(size)
要么
function cup(size) { return message => message(size); }
您的haskell lambda接受一個參數,然后返回一個lambda,后者又接受一個函數作為參數,並將該函數與指定給cup的參數一起應用。
在javascript中,等效項是這樣的:
const cup = size => (message => message(size))
您可以不用括號將其重寫:
const cup = size => message => message(size)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.