<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.
    主站蜘蛛池模板: 日本高清免费网站| 亚洲一卡2卡4卡5卡6卡残暴在线| 午夜爱爱免费视频| 香港a毛片免费观看| 国产精品亚洲一区二区无码| 亚洲精品中文字幕无码AV| 亚洲乱码中文字幕久久孕妇黑人| 国产成人免费a在线视频app| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 国产精品亚洲综合天堂夜夜| 亚洲国产精品免费在线观看| 亚洲成AV人片在线观看| 国产精品亚洲视频| 四虎影视永久免费观看网址| 国内外成人免费视频| 99久久免费国产精品特黄| 成人免费激情视频| 84pao强力永久免费高清| 日本免费一区二区久久人人澡| 久久久久久久国产免费看| 老司机精品视频免费| 午夜亚洲WWW湿好爽| 亚洲精品天堂无码中文字幕| 中文字幕亚洲综合小综合在线| 亚洲精品不卡视频| 亚洲成a人片在线网站| 亚洲精品美女视频| 亚洲精品亚洲人成在线麻豆| 久久亚洲精精品中文字幕| 亚洲最大福利视频网站| 久久亚洲私人国产精品vA| 青青草原精品国产亚洲av| 亚洲一区二区三区四区在线观看| 亚洲人成网站影音先锋播放| 亚洲天天在线日亚洲洲精| 91大神亚洲影视在线| 亚洲妓女综合网99| 亚洲日本va在线观看| 亚洲综合色丁香婷婷六月图片| 亚洲高清国产拍精品熟女| 色窝窝亚洲av网|