<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)  編輯  收藏 所屬分類: 動態(tài)語言
        讀《Perl語言入門》(第四版,我買的書,網(wǎng)上有個翻譯質(zhì)量很高的電子版)的第10章的習(xí)題,人見人愛的猜數(shù)游戲,用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”,多多指點。
      
       這段代碼轉(zhuǎn)成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,然后是正則表達(dá)式左邊多了個~,你完全可以將這個符號去掉,不過會有警告,最后就是Ruby中的要執(zhí)行的表達(dá)式得放在begin...end里面,這一點讓我琢磨了一段時間,還以為Ruby不支持呢。讀《Perl語言入門》最大的樂趣除了妙趣橫生的語言、古靈精怪的符號之外,就是尋找Ruby中的Perl痕跡,哦哦,那個味道相當(dāng)重——駱駝的味道。不過現(xiàn)在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)  回復(fù)  更多評論   

    2007-12-08 01:44 by 隔葉黃鶯
    I prefer Perl to Ruby.
    主站蜘蛛池模板: 亚洲人成7777| 亚洲福利电影在线观看| 久久精品亚洲AV久久久无码| 2019中文字幕在线电影免费| 亚洲欧洲日产国码二区首页 | 九月丁香婷婷亚洲综合色| 三上悠亚电影全集免费 | 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 老司机午夜精品视频在线观看免费| 精品国产麻豆免费网站| 精品无码专区亚洲| 亚洲狠狠爱综合影院婷婷| 国产在线精品一区免费香蕉| 国产亚洲成av片在线观看| 一级毛片在线观看免费| 亚洲一卡二卡三卡| 白白国产永久免费视频| 人禽伦免费交视频播放| 亚洲亚洲人成综合网络| 在线免费中文字幕| 亚洲欧洲精品成人久久曰| 国产成人99久久亚洲综合精品| 国产猛男猛女超爽免费视频| 日韩亚洲Av人人夜夜澡人人爽 | 亚洲国产成人久久综合区| 中文字幕乱码免费看电影| 中文字幕亚洲色图| 天天摸天天操免费播放小视频| 一级a性色生活片久久无少妇一级婬片免费放 | 精品久久久久国产免费| 西西人体大胆免费视频| 久久久久亚洲Av片无码v | 免费人成在线观看播放国产 | 又粗又硬又黄又爽的免费视频| 久久九九免费高清视频| 亚洲人成伊人成综合网久久| 伊人久久亚洲综合影院| 人妻无码久久一区二区三区免费| 亚洲日产乱码一二三区别| 亚洲女同成av人片在线观看| 成人免费一级毛片在线播放视频|