FizzBuzz

  • 在學(xué)習(xí)ruby的過(guò)程中,我們有一道作業(yè)題https://leetcode.com/problems/fizz-buzz/

    FizzBuzz.png

    這道題目其實(shí)難度并不高,主要是用來(lái)測(cè)試我們對(duì)這門(mén)語(yǔ)言的基礎(chǔ)語(yǔ)法的了解,所以這里就寫(xiě)一下我的代碼吧!
    fizzbuzz-first-answer.png

    這段代碼應(yīng)該是我們最常見(jiàn)的解決方案了。
    這里邊使用了Array.new 創(chuàng)建一個(gè)數(shù)組,然后使用each do方法遍歷數(shù)組,將結(jié)果push到我們建立的空數(shù)組中,然后將數(shù)組返回!
    但是這種寫(xiě)法看起來(lái)代碼還是稍多,所以再想一種解決方案!
    FizzBuzz-second-answer.png

    這種解決方案明顯代碼看起來(lái)就比上一種解決方案代碼要少的多。
    這里邊使用了三目運(yùn)算符,將我們的代碼進(jìn)行了優(yōu)化!
    不知道還有沒(méi)有什么其他的解決方案,求分享。。。

  • 當(dāng)然了,代碼寫(xiě)完不行,我們還需要測(cè)試啊!
    我使用的是test-unit來(lái)進(jìn)行書(shū)寫(xiě)單元測(cè)試,當(dāng)然,你首先需要在項(xiàng)目路徑下執(zhí)行sudo gem install test-unit,安裝好了之后,就開(kāi)始寫(xiě)測(cè)試吧

    new-test-unit.png

    新建文件時(shí),選擇TestUnit即可建立基于test-unit測(cè)試的單元測(cè)試文件,在這個(gè)文件中,你需要將我們寫(xiě)的實(shí)現(xiàn)代碼引入進(jìn)來(lái),然后在去測(cè)試它!
    FizzBuzz-test.png

    在寫(xiě)這個(gè)測(cè)試時(shí),我發(fā)現(xiàn)當(dāng)我執(zhí)行這個(gè)測(cè)試文件時(shí),并沒(méi)有執(zhí)行我書(shū)寫(xiě)的這個(gè)單元測(cè)試,最終才發(fā)現(xiàn),是由于我在定義單元測(cè)試函數(shù)時(shí),沒(méi)有已test開(kāi)頭導(dǎo)致的!大家千萬(wàn)注意!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,462評(píng)論 25 708
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,767評(píng)論 18 399
  • 文/關(guān)長(zhǎng)天 賜深海之魚(yú)永恒之燈 與洪古暗夜,水干成鹽 明鏡照在古老的碗里 花沒(méi)有開(kāi)出稻子的模樣 我們看到自己的影子...
    關(guān)長(zhǎng)天閱讀 675評(píng)論 21 78
  • 1.會(huì)話技術(shù): 從瀏覽器開(kāi)始訪問(wèn)服務(wù)器,到關(guān)閉瀏覽器,這期間發(fā)生了許多次請(qǐng)求和響應(yīng),這個(gè)過(guò)程就叫做一次會(huì)話。 2....
    PASSssss閱讀 205評(píng)論 0 0