<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    一段小程序(Perl vs. Ruby)

    Posted on 2007-12-07 16:30 dennis 閱讀(2207) 評論(1)  編輯  收藏 所屬分類: 動態語言
        讀《Perl語言入門》(第四版,我買的書,網上有個翻譯質量很高的電子版)的第10章的習題,人見人愛的猜數游戲,用perl寫出來大概這樣:
    $num=int (1 + rand 100);
    print "I have a number,guess it?:\n";
    while(<>)
    {
        
    chomp;
        
    next unless /\d+/;
        
    $_>$num? print "Too high\n" :
            
    $_==$num? last :print "Too low\n"
    }
       題外話:玩Perl的高人們別鄙視我,我是perl新手啊,如果寫的不夠“perl”,多多指點。
      
       這段代碼轉成ruby,可以這樣寫:

    $num=1+(rand 100)
    puts 
    "I have a number guess it?"
    while(true)
       gets.chomp
       next unless 
    ~/\d+/
         $_.to_i
    >$num?begin print "Too high\n" end:
           $_.to_i
    ==$num? begin break end:begin print "Too low\n" end
        
    end

        看出來了吧,兩者何其相似啊,包括perl里面人見人愛的$_,ruby也是支持的,唯一那么一點不同的地方就是last換成了break,然后是正則表達式左邊多了個~,你完全可以將這個符號去掉,不過會有警告,最后就是Ruby中的要執行的表達式得放在begin...end里面,這一點讓我琢磨了一段時間,還以為Ruby不支持呢。讀《Perl語言入門》最大的樂趣除了妙趣橫生的語言、古靈精怪的符號之外,就是尋找Ruby中的Perl痕跡,哦哦,那個味道相當重——駱駝的味道。不過現在Ruby不鼓勵這樣的寫法,畢竟,程序是給人讀的,因此可以改寫一下:
    $num=1+(rand 100)
    puts "I have a number guess it?"
    while(true)
       guess
    =STDIN.gets
       next unless guess
    =~/\d+/
       
    if(guess.to_i>$num)
          puts 
    "Too high"
       elsif(guess.to_i
    ==$num)
          
    break
       
    else
          puts 
    "Too low"
       end
    end


    評論

    # re: 一段小程序(Perl vs. Ruby)  回復  更多評論   

    2007-12-08 01:44 by 隔葉黃鶯
    I prefer Perl to Ruby.
    主站蜘蛛池模板: 亚洲视频.com| 亚洲国产精品久久久久婷婷软件| 在线免费观看色片| 16女性下面扒开无遮挡免费| 久久久久成人片免费观看蜜芽 | 亚洲成a人一区二区三区| 夜夜嘿视频免费看| 爽爽日本在线视频免费| 夜夜嘿视频免费看| 四虎1515hm免费国产| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲欧洲日产国码久在线观看| 亚洲国产成人私人影院| 久久精品亚洲精品国产色婷| 亚洲精品视频专区| 色偷偷亚洲女人天堂观看欧| 亚洲人成网站18禁止久久影院| 2020国产精品亚洲综合网| 亚洲av中文无码字幕色不卡| 免费精品国自产拍在线播放| 一区二区视频在线免费观看| 嫩草在线视频www免费看| 少妇太爽了在线观看免费视频| 蜜桃视频在线观看免费视频网站WWW| a级日本高清免费看| 久久午夜夜伦鲁鲁片免费无码| 最近的中文字幕大全免费8| 国产在线观看片a免费观看| 日本免费高清一本视频| 免费a级毛片18以上观看精品| 亚洲人成人无码网www国产| 亚洲国产精品无码成人片久久| 久久亚洲AV成人出白浆无码国产 | 午夜高清免费在线观看| 国产成人精品免费直播| 亚洲一区二区三区香蕉| 亚洲综合激情六月婷婷在线观看| 亚洲熟妇无码八V在线播放| 中美日韩在线网免费毛片视频 | 国产精品小视频免费无限app| 日韩精品无码专区免费播放|