九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
關(guān)于Squirrel3的Lambda表達(dá)式
分類: 我的工作 2009-12-13 15:36 316人閱讀 評(píng)論(2) 收藏 舉報(bào)

Squirrel 剛發(fā)布了Squirrel3 beta2版本,一直沒有時(shí)間研究它,這個(gè)周末,終于決定仔細(xì)看看。在Squirrel3 alpha的時(shí)候,就大致知道要加入Lambda表達(dá)式,不過Squirrel本來就將函數(shù)當(dāng)成一個(gè)內(nèi)部變量,Lambda表達(dá)式似乎意義不是很大。

Squirrel3的Lambda表達(dá)式大概是這樣應(yīng)用的:

exp := '@' '(' paramlist ')' exp

例如:local myexp = @(a,b) a + b

這等同于 local myexp = function(a,b) { return a + b; }


因此,這個(gè)Lambda表達(dá)式的意義也就是寫法上稍微的簡(jiǎn)潔,只是不知道Alberto Demichelis在實(shí)現(xiàn)的時(shí)候是否對(duì)Lambda表達(dá)式做過優(yōu)化。


在Squirrel3中,對(duì)Lambda的最大支持是在Array上提供了好幾種內(nèi)部方法,根據(jù)Alberto Demichelis的文檔,增加了以下四種內(nèi)部方法:


1:map(func(a)),對(duì)Array的每個(gè)元素執(zhí)行func(a)函數(shù)(或者Lambda表達(dá)式),將產(chǎn)生的值放入一個(gè)新的數(shù)組,并返回這個(gè)數(shù)組。這個(gè)內(nèi)部方法有點(diǎn)意思,如果從數(shù)學(xué)角度看,這相當(dāng)于一個(gè)映射變換,也許不是什么革命性的東西,但可以減少代碼的編寫量。

2:apply(func(a)),這個(gè)內(nèi)部方法的功能與map相似,只是不會(huì)產(chǎn)生新數(shù)組,而是將產(chǎn)生的值直接替換原數(shù)組的值。

3:reduce(func(prevval,curval)),這個(gè)方法比較奇怪,它相當(dāng)于一個(gè)疊加器,將數(shù)組的第一個(gè)元素傳遞給函數(shù)以后,再將之前函數(shù)的返回值與后續(xù)的元素依次傳遞給函數(shù),最后得到的函數(shù)返回值為輸出值,難道是離散卷積,我得去查查數(shù)學(xué)書,不知道有什么用處。

4:filter(func(index,val)),這個(gè)方法實(shí)現(xiàn)一個(gè)過濾器,將數(shù)組的序號(hào)和值傳遞給函數(shù),如果函數(shù)返回true,就將這個(gè)值加入到新數(shù)組,否則就過濾掉,最后產(chǎn)生的新數(shù)組作為輸出。

今天大致研究了這些東西,不知道這些新特性對(duì)自己的工作是否有用了

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
極簡(jiǎn)python教程06:生成器和匿名函數(shù)
Java 8 Lambda函數(shù)編程【面試+工作】
C# 3.0 特性預(yù)覽
C++中的函數(shù)對(duì)象與Lambda表達(dá)式
Python Lambda函數(shù)竟有這么多用法
C 一般人看不懂的東西,C 11標(biāo)準(zhǔn)之Lambda表達(dá)式深度解析
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服