<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號(hào)
    視頻號(hào)

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁(yè) 科技百科 java monad

    java monad

    文檔

    java monad

    Monad是一個(gè)代碼名字,意思是單子代表Windows上的一個(gè)新的交互式命令行工具以及面向?qū)ο蟮哪_本技術(shù)。Monad也被稱為MSH,是下一代的Windows命令shell,用全新的角度來(lái)完成各式各樣的管理任務(wù)。
    推薦度:
    導(dǎo)讀Monad是一個(gè)代碼名字,意思是單子代表Windows上的一個(gè)新的交互式命令行工具以及面向?qū)ο蟮哪_本技術(shù)。Monad也被稱為MSH,是下一代的Windows命令shell,用全新的角度來(lái)完成各式各樣的管理任務(wù)。

    java monad是什么,讓我們一起了解一下?

    Monad是一個(gè)代碼名字,意思是單子代表Windows上的一個(gè)新的交互式命令行工具以及面向?qū)ο蟮哪_本技術(shù)。Monad也被稱為MSH,是下一代的Windows命令shell,用全新的角度來(lái)完成各式各樣的管理任務(wù)。

    Monad定義的要素有哪些?

    在定義 Monad 時(shí)需要提供一個(gè)類型構(gòu)造器 M 和兩個(gè)操作 unit 和 bind:

    1、類型構(gòu)造器的作用是從底層的類型中創(chuàng)建出一元類型(monadic type)。如果 M 是 Monad 的名稱,而 t 是數(shù)據(jù)類型,則 M t 是對(duì)應(yīng)的一元類型。

    2、unit 操作把一個(gè)普通值 t 通過(guò)類型構(gòu)造器封裝在一個(gè)容器中,所產(chǎn)生的值的類型是 M t。unit 操作也稱為 return 操作。return 操作的名稱來(lái)源于 Haskell。不過(guò)由于 return 在很多編程語(yǔ)言中是保留關(guān)鍵詞,用 unit 做名稱更為合適。

    3、bind 操作的類型聲明是 (M t)→(t→M u)→(M u)。該操作接受類型為 M t 的值和類型為 t → M u 的函數(shù)來(lái)對(duì)值進(jìn)行轉(zhuǎn)換。在進(jìn)行轉(zhuǎn)換時(shí),bind 操作把原始值從容器中抽取出來(lái),再應(yīng)用給定的函數(shù)進(jìn)行轉(zhuǎn)換。函數(shù)的返回值是一個(gè)新的容器值 M u,M u 可以作為下一次轉(zhuǎn)換的起點(diǎn)。多個(gè) bind 操作可以級(jí)聯(lián)起來(lái),形成處理流水線。

    具體代碼示例如下:

    public?class?LoggingMonad?{
    ?
    ?private?final?T?value;
    ?private?final?List?logs;
    ?
    ?public?LoggingMonad(T?value,?List?logs)?{
    ?this.value?=?value;
    ?this.logs?=?logs;
    ?}
    ?
    ?@Override
    ?public?String?toString()?{
    ?return?"LoggingMonad{"?+
    ?"value="?+?value?+
    ?",?logs="?+?logs?+
    ?'}';
    ?}
    ?
    ?public?static??LoggingMonad?unit(T?value)?{
    ?return?new?LoggingMonad<>(value,?List.of());
    ?}
    ?
    ?public?static??LoggingMonad?bind(LoggingMonad?input,
    ?Function?transform)?{
    ?final?LoggingMonad?result?=?transform.apply(input.value);
    ?List?logs?=?new?ArrayList<>(input.logs);
    ?logs.addAll(result.logs);
    ?return?new?LoggingMonad<>(result.value,?logs);
    ?}
    ?
    ?public?static??LoggingMonad?pipeline(LoggingMonad?monad,
    ?List>?transforms)?{
    ?LoggingMonad?result?=?monad;
    ?for?(Function?transform?:?transforms)?{
    ?result?=?bind(result,?transform);
    ?}
    ?return?result;
    ?}
    ?
    ?public?static?void?main(String[]?args)?{
    ?Function?transform1?=
    ?v?->?new?LoggingMonad<>(v?*?4,?List.of(v?+?"?*?4"));
    ?Function?transform2?=
    ?v?->?new?LoggingMonad<>(v?/?2,?List.of(v?+?"?/?2"));
    ?final?LoggingMonad?result?=?
    pipeline(LoggingMonad.unit(8),
    ?List.of(transform1,?transform2));
    ?System.out.println(result);?//?輸出為?LoggingMonad{value=16,?
    logs=[8?*?4,?32?/?2]}
    ?}
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java monad

    Monad是一個(gè)代碼名字,意思是單子代表Windows上的一個(gè)新的交互式命令行工具以及面向?qū)ο蟮哪_本技術(shù)。Monad也被稱為MSH,是下一代的Windows命令shell,用全新的角度來(lái)完成各式各樣的管理任務(wù)。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    java mono java mqtt java multiset java mvvm java mybatisplus java namespace java newinstance java nextint java nextline java nexus java nfs java geotools java getbytes java hashcode java hdfs java node類 java notify java nslookup java number java hibernate java module java modelandview java mockito java mmap java mkdir java mina java mian java method java merge java memcpy java matrix java matlab java math.ceil java mapping java malloc java main java logstash java logging java localtime java locale
    Top 亚洲熟妇无码久久精品| 999精品视频这里只有精品| 亚洲AV无码乱码麻豆精品国产| 国产麻豆精品精东影业av网站| 国产精品ⅴ无码大片在线看| 美女免费精品高清毛片在线视| 精品亚洲成在人线AV无码| 99精品在线观看| 免费视频精品一区二区| 精品一久久香蕉国产二月| 亚洲爆乳精品无码一区二区三区 | 网友自拍区视频精品| 国产99视频精品免费专区| 亚洲精品高清在线| 国产亚洲精品AAAA片APP| 精品日韩亚洲AV无码一区二区三区| 久久精品国产亚洲av天美18| 久久久久琪琪去精品色无码| 日韩国产成人资源精品视频| 久久精品国产亚洲7777| 日韩精品高清自在线| 91热成人精品国产免费| 国产精品免费AV片在线观看| 久热这里只有精品99国产6| 精品综合久久久久久98| 久久精品国产精品| 中文字幕久热精品视频在线| 日韩精品成人亚洲专区| 99精品视频在线视频免费观看| 中文国产成人精品久久下载| 无码国内精品久久人妻麻豆按摩| 精品国产粉嫩内射白浆内射双马尾 | 99精品视频在线在线视频观看 | 精品久久久久久久久午夜福利| 国产精品久久午夜夜伦鲁鲁| 中文字字幕在线精品乱码app| 亚洲精品综合久久| 九九热线有精品视频99| 国产精品亚洲а∨无码播放麻豆| 国产99视频精品专区| 亚洲国产精品自在在线观看|