From 83e741cf0f21878a04c1594c622512a84ef55592 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 18:01:20 +0800 Subject: [PATCH 01/29] exercise 01 --- 01-hello.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index e0e7bbf..b30db48 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "(请替换成最后的答案)" \ No newline at end of file +puts "Hello, " + your_name From 7b2f119d0f7b116c146888eebe9081ec14c45a54 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 18:02:37 +0800 Subject: [PATCH 02/29] exercise 02 --- 02-variable.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/02-variable.rb b/02-variable.rb index a5a4753..139a4b5 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -7,7 +7,9 @@ puts "b 是 #{b}" # ... +x = a +a = b +b = x puts "a 应该是 2,现在是 #{a}" puts "b 应该是 1,现在是 #{b}" - From cc600e8c290bcfc5c25379002f20636cba1a7971 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 18:03:29 +0800 Subject: [PATCH 03/29] exercise 03 --- 03-triangle.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..d6f1439 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -7,5 +7,6 @@ b = gets # ..... +c = a.to_f * b.to_f / 2 -puts "直角三角形的面积是: _________" \ No newline at end of file +puts "直角三角形的面积是: #{c}" From fe1f953982ec7b5e577421b1b1b07b2f3b19dc34 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 18:10:05 +0800 Subject: [PATCH 04/29] exercise 04 --- 04-pizzas.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..2f0caf1 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -6,7 +6,9 @@ print "请输入有多少人要吃,然后按 Enter: " people = gets -# ..... +per = pizzas.to_i/people.to_i -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file +rest = pizzas.to_i%people.to_i + +puts "每人可分得几片: #{per} 片" +puts "还剩下几片: #{rest} 片" From ffd731d7534ea9c5db5ce69421bc55a78237097f Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 19:38:48 +0800 Subject: [PATCH 05/29] exercise 05 --- 05-bmi.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..e05a622 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -10,8 +10,16 @@ print "请输入您的身高(厘米),然后按 Enter: " height = gets -# ..... +bmi = weight.to_f/((height.to_f/100)*(height.to_f/100)) -puts "您的 BMI 是: _________" +if bmi < 18.5 + result = "过轻" +elsif bmi >= 24 + result = "过重" +else + result = "正常" +end -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 是: #{bmi}" + +puts "您的 BMI 结果是: #{result}" From 84e51a69023083426067b2f101210c128afcb7ff Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 19:50:22 +0800 Subject: [PATCH 06/29] exercise 06 --- 06-interger-positive.rb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..468db1c 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -4,7 +4,19 @@ print "请输入一个整数,然后按 Enter: " x = gets -# .... +if x.to_i > 0 + result = "正数" +elsif x.to_i < 0 + result = "负数" +else + result = "零" +end -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +if x.to_i%2 == 0 + is_even = "偶数" +else + is_even = "奇数" +end + +puts "这个数是#{result}" +puts "这个数是#{is_even}" From ce2d819b4e5376012aae725dd734e5dffee6fd48 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:00:12 +0800 Subject: [PATCH 07/29] exercise 07 --- 07-abcde.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..a70f49d 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -17,6 +17,22 @@ print "请输入一个整数z,然后按 Enter: " z = gets -# .... +if x.to_i < 0 + result = "A" +else + if y.to_i > 0 + if z.to_i > 0 + result = "B" + else + result = "C" + end + else + if z.to_i > 0 + result = "D" + else + result = "E" + end + end +end -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +puts "结果是#{result}" From 1a27af9094bfbe60b2ef92cc369e6697c27de849 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:14:11 +0800 Subject: [PATCH 08/29] exercise 08 --- 08-find-max.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..c1d300c 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -9,6 +9,17 @@ print "请输入一个数字z,然后按 Enter: " z = gets -# .... +if x.to_f > y.to_f && x.to_f > z.to_f + max = x +end -puts "最大的数是 ________(x或y或z)" \ No newline at end of file +if x.to_f < y.to_f && y.to_f > z.to_f + max = y +end + +if x.to_f < y.to_f && y.to_f < z.to_f + max = z +end + + +puts "最大的数是 #{max}" From 3e9c76dfa988fa16be92b97eccf60f1b42341e35 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:15:14 +0800 Subject: [PATCH 09/29] exercise 09 --- 09-function.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..0770a62 100644 --- a/09-function.rb +++ b/09-function.rb @@ -1,7 +1,7 @@ # 题目: 输入直角三角形的宽和高,输出三角形的面积 def calculate_area(a, b) - # .... + c = a.to_f * b.to_f / 2 end print "请输入直角三角形的高,然后按 Enter: " @@ -12,4 +12,4 @@ def calculate_area(a, b) answer = calculate_area(a,b) -puts "直角三角形的面积是: #{answer}" \ No newline at end of file +puts "直角三角形的面积是: #{answer}" From 364fb5235765d5b1bbd2121ba5a4c3b6c814e6c2 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:18:47 +0800 Subject: [PATCH 10/29] exercise 10 --- 10-function.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..7cfb76c 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,6 +1,18 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + if x.to_f > y.to_f && x.to_f > z.to_f + return x + end + + if x.to_f < y.to_f && y.to_f > z.to_f + return y + end + + if x.to_f < y.to_f && y.to_f < z.to_f + return z + end + end print "请输入一个数字x,然后按 Enter: " @@ -12,8 +24,6 @@ def find_max(x, y, z) print "请输入一个数字z,然后按 Enter: " z = gets -# .... - answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From 1e7a5cc91e6a7e65760d9d6166f350ce8ca0ffe7 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:20:43 +0800 Subject: [PATCH 11/29] exercise 11 --- 11-seven.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..1e25d1e 100644 --- a/11-seven.rb +++ b/11-seven.rb @@ -3,7 +3,9 @@ i = 1 while ( i <= 100 ) - # .... + if i%7 == 0 + puts i + end i+=1 -end \ No newline at end of file +end From 2183434c121d958bd13ec192dc34b19af2527cae Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:27:23 +0800 Subject: [PATCH 12/29] exercise 12 --- 12-sum-even.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/12-sum-even.rb b/12-sum-even.rb index 73879bb..7e0c96e 100644 --- a/12-sum-even.rb +++ b/12-sum-even.rb @@ -5,9 +5,11 @@ while ( i <= 100 ) - # .... + if i%2 == 0 + total+=i + end i+=1 end -puts total \ No newline at end of file +puts total From c20c3b5373585497abe6c448f3f077d2f64d5051 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 20:46:07 +0800 Subject: [PATCH 13/29] exercise 13 --- 13-nn.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..06cd2ff 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -3,9 +3,13 @@ print "请输入数字 N,然后按 Enter: " n = gets -# while ( ... ) -# while ( ...) -# -# end -# end - +i = 0 +j = 0 +while ( i <= n.to_i ) + while ( j <= n.to_i ) + puts "#{i} * #{j} = #{i*j}" + j+=1 + end + j = 0 + i+=1 +end From b19543fb2b71bb860b0789abc71af7b05b68adbc Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 21:02:10 +0800 Subject: [PATCH 14/29] exercise 14 --- 14-prime.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..7b0f434 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -1,7 +1,18 @@ # 输入一个数字 N,请检查是不是质数 def is_prime(n) -# .... + i = 2 + if n >1 + while (i <= n/2) + if n%i == 0 + return false + end + i+=1 + end + else + return false + end + return true end print "请输入数字 N,然后按 Enter: " From 4f1dd9266842c25635c4fb1626829ab338618127 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sat, 30 Sep 2017 22:15:57 +0800 Subject: [PATCH 15/29] exercise 15 --- 15-guess-number.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/15-guess-number.rb b/15-guess-number.rb index 48f9dca..f9e5456 100644 --- a/15-guess-number.rb +++ b/15-guess-number.rb @@ -6,12 +6,17 @@ print "请猜一个 0~99 的数字 N,然后按 Enter: " n = gets - #puts "太低了,再猜一次" - #puts "太高了,再猜一次" + if n.to_i < target + puts "太低了,再猜一次" + end + + if n.to_i > target + puts "太高了,再猜一次" + end if n.to_i == target puts "恭喜猜中啦! " break end -end \ No newline at end of file +end From d5c911351712d3ccffbfc74e70c2620bddcd7f6d Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 16:14:33 +0800 Subject: [PATCH 16/29] exercise 16 --- 16-array-sum.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..99dc974 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -1,11 +1,16 @@ # 给定一阵列内含数字,输出最大值 def find_max(array) - #.... + tmp = array[0] + array.each do |i| + if tmp < i + tmp = i + end + end + return tmp end arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88] max = find_max(arr) puts "Max is #{max}" # 应该是 88 - From 54ecbfb282de918ed2b26038559f747fa5d525d0 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 16:33:24 +0800 Subject: [PATCH 17/29] exercise 17 --- 17-array-stats.rb | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..869ef4c 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -14,7 +14,39 @@ puts arr.to_s -puts "总和是 _____" -puts "平均是 _____" -puts "最大值是 _____" -puts "最小值是 _____" \ No newline at end of file +def sum(array) + total = 0 + array.each do |i| + total+=i + end + return total +end + +def avg(array) + sum(array).to_f/array.size +end + +def find_max(array) + tmp = array[0] + array.each do |i| + if tmp < i + tmp = i + end + end + return tmp +end + +def find_min(array) + tmp = array[0] + array.each do |i| + if tmp > i + tmp = i + end + end + return tmp +end + +puts "总和是 #{sum(arr)}" +puts "平均是 #{avg(arr)}" +puts "最大值是 #{find_max(arr)}" +puts "最小值是 #{find_min(arr)}" From 9dff973be138f07ac6c59c05bcad980023e02449 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 16:49:17 +0800 Subject: [PATCH 18/29] exercise 18 --- 18-square.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..477654b 100644 --- a/18-square.rb +++ b/18-square.rb @@ -5,6 +5,8 @@ print "请输入数字 N,然后按 Enter: " n = gets -# ... +for i in 0..(n.to_i-1) + arr[i] = i*i +end -puts arr.to_s \ No newline at end of file +puts arr.to_s From c967df25363f17f484b0083201fd34b5375b71b7 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 16:54:54 +0800 Subject: [PATCH 19/29] exercise 19 --- 19-filter.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..0807044 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -1,9 +1,17 @@ # 给定一阵列内含数字,输出另一个数组只包含偶数 def filter_even(arr) - #... + arr_new = [] + j=0 + arr.each do |i| + if i%2 == 0 + arr_new[j] = i + j+=1 + end + end + return arr_new end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] -puts filter_even(arr).to_s # 应该是 [68, 42, 46, 46, 86] \ No newline at end of file +puts filter_even(arr).to_s # 应该是 [68, 42, 46, 46, 86] From ef6044b6de76579c7854fb746273ef6975253c90 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 17:02:21 +0800 Subject: [PATCH 20/29] exercise 20 --- 20-sorting.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..9247df0 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -2,10 +2,18 @@ # Hint: 可用 arr.sort 排序,和 arr.uniq 去除重复 def filter_even(arr) - #... + arr_new = [] + j=0 + arr.each do |i| + if i%2 == 0 + arr_new[j] = i + j+=1 + end + end + return arr_new.sort.uniq end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] -puts "________" # 应该是 [42, 46, 68, 86] \ No newline at end of file +puts filter_even(arr).to_s # 应该是 [42, 46, 68, 86] From f4826794278eb5c5a99b4a2af2cef3a734ec347a Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 22:29:36 +0800 Subject: [PATCH 21/29] exercise 21 --- 21-selection-sort.rb | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index e5e7eae..8d00147 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -2,11 +2,30 @@ # https://zh.wikipedia.org/wiki/选择排序 def selection_sort(arr) - #... + cnt = arr.size + for j in 0..(cnt-2) + tmp = arr[j] + index = j + for i in j..(cnt-1) + if tmp > arr[i] + index = i + tmp = arr[i] + end + end + + # puts "Min number is #{tmp}" + # puts "Index of min number is #{index}" + arr.delete_at(index) + arr.insert(j, tmp) + # puts "This round of array is :" + # puts arr.to_s + end + + return arr end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] answer = selection_sort(arr) -puts answer.to_s # 应该是 [1, 7, 9, 42, 46, 46, 68, 77, 86, 91] \ No newline at end of file +puts answer.to_s # 应该是 [1, 7, 9, 42, 46, 46, 68, 77, 86, 91] From 3e5e5fd5d6e75000fe5f9521c2fed4b8786e9ee0 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Sun, 1 Oct 2017 22:53:52 +0800 Subject: [PATCH 22/29] exercise 22 --- 22-missing.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/22-missing.rb b/22-missing.rb index 6898714..f53b4ac 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -1,7 +1,16 @@ # 给定一阵列内含数字,请输出 0~9 中不见的数字 def find_missing(arr) - # ... + arr_org = [0,1,2,3,4,5,6,7,8,9] + for i in 0..9 + arr.each do |j| + if i == j + arr_org.delete(i) + break + end + end + end + return arr_org end answer = find_missing( [2,2,1,5,8,4] ) From 8e68c7ba313c709d6150bc27ca470e3384136dee Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 17:55:40 +0800 Subject: [PATCH 23/29] exercise 23 --- 23-hash-max.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..d3db19b 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -1,7 +1,15 @@ # 给定一 Hash,输出有最大 value 的 key def find_max(hash) - # ... + arr = hash.to_a + max = arr[0] + + arr.each do |i| + if max[1] < i[1] + max = i + end + end + return max[0] end h = { @@ -15,5 +23,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 0c40bef1769ff9e7708d85b0aea517a168ada3ad Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 18:00:41 +0800 Subject: [PATCH 24/29] exercise 24 --- 24-hash-even.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..085bb69 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -1,9 +1,15 @@ # 给定一 Hash,输出 value 是偶数的 keys def find_even_keys(hash) - - # ... (请回传一个数组) - + arr = [] + i = 0 + hash.each do |k, v| + if v%2 == 0 + arr.insert(i, k) + i+=1 + end + end + return arr end h = { @@ -17,5 +23,3 @@ def find_even_keys(hash) answer = find_even_keys(h) puts "有偶数 value 的 keys 有 #{answer}" # 应该是数组 [b,d,e] - - From 9c5890090d4bb95241186bdcfa51b168a1a5d1c1 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 18:26:58 +0800 Subject: [PATCH 25/29] exercise 25 --- 25-hash-count.rb | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..73c8b1b 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -2,9 +2,16 @@ def count(arr) h = {} - - arr.each do |i| - # ... + cnt = 0 + arr_uniq = arr.uniq + arr_uniq.each do |i| + arr.each do |j| + if i == j + cnt+=1 + h[j] = cnt + end + end + cnt = 0 end return h # 回传一个 hash @@ -15,4 +22,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From e04cd148ea617f82bde9c2fad94828e5b45a8321 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 21:14:53 +0800 Subject: [PATCH 26/29] exercise 26 --- 26-hash-filter.rb | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..db62167 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -5,12 +5,32 @@ { "name" => "John", "age" => 15 }, { "name" => "David", "age" => 45 }, { "name" => "Steven", "age" => 22 }, - { "name" => "Vincent", "age" => 6 }, + { "name" => "Vincent", "age" => 6 } ] -# .... +arr_new = [] -puts "所有成年人,并由小到大: _________" +arr.each do |h| + if h["age"] >= 18 + if arr_new.size > 0 + if h["age"] < arr_new.first["age"] + arr_new.unshift(h) + elsif h["age"] > arr_new.last["age"] + arr_new.push(h) + else + for i in 0..arr_new.size-2 + if h["age"] > arr_new[i]["age"] && h["age"] < arr_new[i+1]["age"] + arr_new.insert(i+1, h) + end + end + end + else + arr_new.push(h) + end + end +end + +puts "所有成年人,并由小到大: #{arr_new.to_s}" # 答案应该是 #[ From aa5a5c61df83613d747ba6abd9e67ae8407574d0 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 21:19:39 +0800 Subject: [PATCH 27/29] exercise 27 --- 27-class.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..162abf2 100644 --- a/27-class.rb +++ b/27-class.rb @@ -1,5 +1,10 @@ class Person - # ... + attr_accessor :first_name + attr_accessor :last_name + + def greet + puts "Hi, #{@first_name} #{@last_name}" + end end p1 = Person.new @@ -11,6 +16,3 @@ class Person p2.first_name = "William" p2.last_name = "Zhang" p2.greet # 输出 "Hello, William Zhang" - - - From def04d0b391fa22f62c34c3231b183f4c74a19a2 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 22:07:26 +0800 Subject: [PATCH 28/29] exercise 28 --- 28-word-count.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..673d31c 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -1,5 +1,12 @@ # 请打开 wordcount.txt,计算每个单字出现的次数 +require "./25-hash-count" doc = File.read("wordcount.txt") -# ... +arr = doc.gsub(/[,.]/, '').split(" ") + +answer = count(arr) + +answer.each do |k, v| + puts "#{k} #{v}" +end From cfda3d59837a3f1fdef230933393a698dfb48f8b Mon Sep 17 00:00:00 2001 From: zhongjie Date: Mon, 2 Oct 2017 22:53:56 +0800 Subject: [PATCH 29/29] exercise 29 --- 29-todos.rb | 17 ++++++++++++----- todos.txt | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..8590c21 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -17,17 +17,24 @@ if command == "add" print "请输入代办事项: " - # ... + item = gets.chomp + todos << item + elsif command == "remove" print "请输入要删除的编号: " - # ... + a = gets + todos.delete_at(a.to_i) + elsif command == "save" puts "存盘离开" - - # ... + File.open("todos.txt", "w+") do |f| + todos.each do |item| + f << item + f << "\n" + end + end break; else puts "看不懂,请再输入一次" end end - diff --git a/todos.txt b/todos.txt index 4757e85..240ef00 100644 --- a/todos.txt +++ b/todos.txt @@ -1,4 +1,4 @@ Buy book Go Shopping Walk -Gogo +Watch Movie