• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                我們知道,循環本身是沒有返回值的。所以在純函數式語言下,跟IO有關的循環才有足夠的副作用來產生價值。于是利用IO Monad,我們就可以實現循環了。循環是一個函數:
            1 def ioloop count code = 
            2   let
            3     def _loop index = 
            4       if (index>=count)
            5         iovoid
            6         ((code index) >>> (_loop (index+1)))
            7   in _loop 0

                這個函數輸入count,然后執行code。code接受一個參數代表目前循環的次數,循環次數從0到count-1之后結束。最后函數返回IO void。如果循環中出現錯誤,那么立刻返回錯誤。我們可以嘗試寫一段代碼:
             1 def main125 = do
             2   writeln "現在開始計算1到10的平方:";
             3   ioloop 10 \index->do
             4     number = return (index+1);
             5     write ((itoa number) + "*" + (itoa number) + "=");
             6     square = return (number * number);
             7     writeln (itoa square);
             8   end;
             9   writeln "結束!";
            10 end

                執行結果如下:
             1 現在開始計算1到10的平方:
             2 1*1=1
             3 2*2=4
             4 3*3=9
             5 4*4=16
             6 5*5=25
             7 6*6=36
             8 7*7=49
             9 8*8=64
            10 9*9=81
            11 10*10=100
            12 結束!
            13 main125返回值:(system.success (system.pair <VOID> <USER>))
            posted on 2008-12-15 07:56 陳梓瀚(vczh) 閱讀(2164) 評論(2)  編輯 收藏 引用 所屬分類: 腳本技術

            評論:
            # re: 在純函數式語言內實現有關IO的循環 2008-12-15 21:37 | haskell
            純函數式語言不能map IO嗎?可以吧,
            為什么不弄個通用的map呢  回復  更多評論
              
            # re: 在純函數式語言內實現有關IO的循環 2008-12-16 01:03 | 陳梓瀚(vczh)
            這只是一個demo。一個目標永遠有無窮多種方法可以完成的。  回復  更多評論
              
            国产精品成人99久久久久| 亚洲国产视频久久| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 色成年激情久久综合| 久久精品www人人爽人人| 久久久久亚洲av无码专区喷水| 久久九九久精品国产免费直播| 久久精品国产亚洲AV久| 麻豆AV一区二区三区久久| 97久久精品无码一区二区天美| 国内精品久久九九国产精品| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品热久久毛片| 久久精品无码一区二区app| 亚洲欧洲久久久精品| 无码日韩人妻精品久久蜜桃| 国产成人久久AV免费| 久久se这里只有精品| 精品久久久久久国产| 97久久精品国产精品青草| 久久99精品国产麻豆不卡| 久久99热这里只有精品国产| 国产精品一久久香蕉产线看| 久久夜色精品国产亚洲av| 99久久国产精品免费一区二区| 国产Av激情久久无码天堂| 久久久久亚洲精品中文字幕| 亚洲午夜无码久久久久| 国内精品久久久久久中文字幕| 精品国产乱码久久久久久人妻| 国产精品久久自在自线观看| 亚洲午夜无码久久久久小说| .精品久久久麻豆国产精品| 武侠古典久久婷婷狼人伊人| 久久w5ww成w人免费| 伊人久久大香线蕉无码麻豆| 久久国产亚洲精品麻豆| 亚洲国产另类久久久精品黑人| 精品久久久久久无码中文野结衣| 一本色道久久99一综合| 国产日韩久久久精品影院首页|