亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2187 | 回復(fù): 2
打印 上一主題 下一主題

RubyMonk系列題目(答案篇) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-02-20 21:52 |只看該作者 |倒序?yàn)g覽
RubyMonk系列題目(答案篇)










#總算是有時(shí)間把之前在RubyMonk上搞的那些菜鳥題目做了一遍,也順便溫習(xí)鞏固下基礎(chǔ)知識。

一、數(shù)組篇
  1在下面的代碼中,嘗試提取超過五個(gè)字符的字符串。
  1.  names = ['rock', 'paper', 'scissors', 'lizard', 'spock']



  2.           names.each do |a|
  3.             puts a if(a.length>5)
  4.           end
復(fù)制代碼
2對于開發(fā)者而言,ruby之所以能這么流行的一個(gè)原因是它有著非常直觀的API。很多時(shí)候,你都能在你腦海中猜到能完成你想要的目標(biāo)的一些方法名稱。嘗試猜測一個(gè)你需要使用的方法來刪除下面所給數(shù)組為“5”的元素。(注意是猜測哦,好吧,其實(shí)我早就知道了)
  1.   [1,3,5,4,6,7].delete_if{|m| m==5}
復(fù)制代碼
3從下面給出的數(shù)組中刪除所有給出的偶數(shù)
  1.      [1,2,3,4,5,6,7,8,9].delete_if{|m| m%2==0}
復(fù)制代碼
原文:(Doing this in languages like C or Java would take you a lot of boiler plate code. The beauty of Ruby is in its concise but readable code.)
4給定一個(gè)包含有幾個(gè)字符串的數(shù)組,編寫一個(gè)length_finder方法,該方法接收一個(gè)數(shù)組為參數(shù)并夠返回一個(gè)新數(shù)組,該新數(shù)組為對應(yīng)數(shù)組參數(shù)的每個(gè)字符串元素的長度。(別吐槽我的水平了,我知道這個(gè)翻譯的那是怎么聽怎么別扭,應(yīng)該能明白大概意思吧)Example:
  1. Given ['Ruby','Rails','C42'] the method should return [4,5,3]
  2.               def length_finder(input_array)
  3.                 input_array.map do |e|
  4.                   e.length
  5.                 end
  6.               end
復(fù)制代碼
4給定一個(gè)包含有多個(gè)單詞的句子,編寫一個(gè)名為“find_frequency”的方法,該方法有兩個(gè)參數(shù)“sentence”和“word”,這兩個(gè)參數(shù)都是字符串對象。并返回某一單詞在該句子中的出現(xiàn)頻率。示例:傳入 'Ruby is The best language in the World' 和 'the',則返回“ 2”
提示: Array#count (用法自個(gè)兒查去)
  1.           def find_frequency(sentence, word)
  2.                 sentence.downcase.split(" ").count(word.downcase)
  3.               end
復(fù)制代碼
二、字符串篇



  1創(chuàng)建一個(gè)名為'random_select'的方法,該方法有兩個(gè)參數(shù),一個(gè)是數(shù)組對象array,另一個(gè)是數(shù)字n。該方法將返回從給定數(shù)組中隨機(jī)選取n個(gè)新的元素組成新的數(shù)組。例如:給定數(shù)組[1,2,3,4,5]和2應(yīng)該返回隨機(jī)從這個(gè)數(shù)組中隨機(jī)挑選的兩個(gè)數(shù)字所組成的新數(shù)組。
PS: 兩次調(diào)用該方法最好返回不同的結(jié)果。
  1.   def random_select(array, n)
  2.             result = []
  3.             n.times do
  4.               result << array[rand(array.length)]
  5.             end
  6.             result
  7.           end
復(fù)制代碼
2創(chuàng)建一個(gè)名為'sort_string'的方法,該方法接收一個(gè)字符串對象,并對這個(gè)字符串中的單詞按照長度的升序進(jìn)行重排序。假設(shè)沒有其他的標(biāo)點(diǎn)符號而只有單個(gè)空格分隔該字符串。例如:給定"Sort words in a sentence", 將返回"a in Sort words sentence".
  1.               def sort_string(string)
  2.                 string.split(" ").sort{|a,b| a.length<=>b.length}.join(' ')
  3.               end
復(fù)制代碼
三、迭代器篇
  1復(fù)制存儲(chǔ)在數(shù)組變量source中值小于4的元素到數(shù)組變量destination
  1.    def array_copy(destination)
  2.               source = [1, 2, 3, 4, 5]
  3.               source.each do |a|
  4.                 destination.push(a) if a< 4
  5.               end
  6.               destination
  7.             end
復(fù)制代碼
四、正則篇
  1將下面給出字符串中的大寫字母都改為數(shù)字“0”
  1.    'RubyMonk Is Pretty Brilliant'.gsub(/[A-Z]/,'0')
復(fù)制代碼
五、構(gòu)建一個(gè)計(jì)算器
  創(chuàng)建一個(gè)計(jì)算器類,能夠在同一時(shí)間完成兩個(gè)數(shù)字的加減法。(不太懂,原文:Create a class Calculator, which performs the addition and subtraction of two numbers at a time. The sample code explains the expected API.)
  1.      class Calculator
  2.             def add(num_1, num_2)
  3.               num_1 + num_2
  4.              end



  5.             def subtract(num_1, num_2)
  6.               num_1 - num_2
  7.             end
  8.           end
復(fù)制代碼

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-02-20 22:28 |只看該作者
謝謝分享

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-02-23 14:10 |只看該作者
謝謝分享,初學(xué)ruby,看著有點(diǎn)吃力
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP