From f9e8696c600c47e7732741f0f667c1316e05550f Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 17:51:17 +0800 Subject: [PATCH 01/30] finished 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 34a7e2de247a3fd02de06a41c21699c1169608ac Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 17:56:27 +0800 Subject: [PATCH 02/30] revise 01 --- 01-hello.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index b30db48..a978e84 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "Hello, " + your_name +puts "Hello, #{your_name}" From a0294553d3825305067e5d96494bc0373ab2f7b9 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 17:58:16 +0800 Subject: [PATCH 03/30] finished 02 --- 02-variable.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/02-variable.rb b/02-variable.rb index a5a4753..484f6f8 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -6,8 +6,11 @@ puts "a 是 #{a}" puts "b 是 #{b}" +a = a + b +b = a - b +a = a - b + # ... puts "a 应该是 2,现在是 #{a}" puts "b 应该是 1,现在是 #{b}" - From 6fe7f6aaf819a93ad97182838664667744018500 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:04:29 +0800 Subject: [PATCH 04/30] finished 03 --- 03-triangle.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..0d10514 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -7,5 +7,6 @@ b = gets # ..... +area = 0.5 * a.to_f * b.to_f -puts "直角三角形的面积是: _________" \ No newline at end of file +puts "直角三角形的面积是: #{area}" From 79527badf98499275047feaa5aece462306a63fc Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:14:06 +0800 Subject: [PATCH 05/30] finished 04 --- 04-pizzas.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..4b4045f 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -6,7 +6,9 @@ print "请输入有多少人要吃,然后按 Enter: " people = gets +a = pizzas.to_i % people.to_i +b = (pizzas.to_i - a) / people.to_i # ..... -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file +puts "每人可分得几片: #{b} 片" +puts "还剩下几片: #{a} 片" From 1724b66307805ae4e6833875fee8642ce487dbd7 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:34:45 +0800 Subject: [PATCH 06/30] finished 05 --- 05-bmi.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..893078d 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -10,8 +10,18 @@ print "请输入您的身高(厘米),然后按 Enter: " height = gets +bmi = weight.to_f / (height.to_f / 100)**2 + +if bmi < 18.5 + result = '过轻' +elsif bmi < 24.0 + result = '正常' +else + result = '过重' +end + # ..... -puts "您的 BMI 是: _________" +puts "您的 BMI 是: #{bmi}" -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 结果是: #{result}" From db834ebffc1a11e8e375b66d3ce8b3cb4e5ccca1 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:43:03 +0800 Subject: [PATCH 07/30] finished 06 --- 06-interger-positive.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..ac3b94a 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -4,7 +4,21 @@ print "请输入一个整数,然后按 Enter: " x = gets +if x.to_i > 0 + result1 = '正数' +elsif x.to_i < 0 + result1 = '负数' +else + result1 = '零' +end + +if x.to_f % 2 ==0 + result2 = '偶数' +else + result2 = '奇数' +end + # .... -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +puts "这个数是 #{result1}" +puts "这个数是 #{result2}" From 37c37597c74c4db8f7609589d7e18f53fe137efd Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:48:53 +0800 Subject: [PATCH 08/30] finished 07 --- 07-abcde.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..683f42f 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -17,6 +17,24 @@ print "请输入一个整数z,然后按 Enter: " z = gets +if x.to_i < 0 + result = "A" +elsif x.to_i > 0 + if y.to_i > 0 + if z.to_i > 0 + result = "B" + elsif z.to_i <0 + result = "C" + end + elsif y.to_i < 0 + if z.to_i > 0 + result = "D" + elsif z.to_i <0 + result = "E" + end + end +end + # .... -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +puts "结果是 #{result}" From f6068eb3d133644e7f9954dce028c6cb4829503f Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:55:10 +0800 Subject: [PATCH 09/30] finished 08 --- 08-find-max.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..ea43084 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -9,6 +9,19 @@ print "请输入一个数字z,然后按 Enter: " z = gets +if x.to_f >= y.to_f + if x.to_f >= z.to_f + result = x + else + result = z + end +else + if y.to_f >= z.to_f + result = y + else + result = z + end +end # .... -puts "最大的数是 ________(x或y或z)" \ No newline at end of file +puts "最大的数是 #{result}" From 132b1814571f0a7c3be732dcf049028df1e5757f Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:57:35 +0800 Subject: [PATCH 10/30] finished 09 --- 09-function.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..3225c1f 100644 --- a/09-function.rb +++ b/09-function.rb @@ -1,7 +1,8 @@ # 题目: 输入直角三角形的宽和高,输出三角形的面积 def calculate_area(a, b) - # .... + area = 0.5 * a.to_f * b.to_f + return area end print "请输入直角三角形的高,然后按 Enter: " @@ -12,4 +13,4 @@ def calculate_area(a, b) answer = calculate_area(a,b) -puts "直角三角形的面积是: #{answer}" \ No newline at end of file +puts "直角三角形的面积是: #{answer}" From 9e03a9c7238565b2808eaa01246981e4a91e4805 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 18:58:53 +0800 Subject: [PATCH 11/30] finished 10 --- 10-function.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..38d9743 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,6 +1,20 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + if x.to_f >= y.to_f + if x.to_f >= z.to_f + result = x + else + result = z + end + else + if y.to_f >= z.to_f + result = y + else + result = z + end + end + return result end print "请输入一个数字x,然后按 Enter: " @@ -16,4 +30,4 @@ def find_max(x, y, z) answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From 8a72e2ce9baf39cdcab10e7593e314e36334826a Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:00:42 +0800 Subject: [PATCH 12/30] finished 11 --- 11-seven.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..97d5e96 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 510151170fec270fc73ec77c66f279cf6397c8e7 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:05:28 +0800 Subject: [PATCH 13/30] finished 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..575911d 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 0ee9d97ebbbdcc787ad6dda0f76352d939d1e148 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:15:20 +0800 Subject: [PATCH 14/30] finished 13 --- 13-nn.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..ea69134 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -2,10 +2,14 @@ print "请输入数字 N,然后按 Enter: " n = gets - -# while ( ... ) -# while ( ...) -# -# end -# end - +i = 1 +while ( i <= n.to_i ) + j = 1 + while ( j <= i) + result = i * j + print "#{j} x #{i} = #{result} " + j += 1 + end + print "\n" + i +=1 +end From 04350d1902d1f2db65d7b65def65d9863ed6c268 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:23:25 +0800 Subject: [PATCH 15/30] finished 14 --- 14-prime.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..6d26543 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -1,7 +1,16 @@ # 输入一个数字 N,请检查是不是质数 def is_prime(n) -# .... + i = 2 + result = true + while i < n.to_i + if n.to_i % i == 0 + result = false + break + end + i +=1 + end + return result end print "请输入数字 N,然后按 Enter: " From a281798fea6acbd99b7aa07560fd74d86db28e0b Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:27:44 +0800 Subject: [PATCH 16/30] finished 15 --- 15-guess-number.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/15-guess-number.rb b/15-guess-number.rb index 48f9dca..42f221f 100644 --- a/15-guess-number.rb +++ b/15-guess-number.rb @@ -8,10 +8,13 @@ #puts "太低了,再猜一次" #puts "太高了,再猜一次" - - if n.to_i == target - puts "恭喜猜中啦! " + if n.to_i < target + puts "太低了,再猜一次" + elsif n.to_i > target + puts "太高了,再猜一次" + elsif n.to_i == target + puts "恭喜猜中啦!" break end -end \ No newline at end of file +end From c49b6b07410ebdf7dea8843e19aef46fd72f4cdf Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:30:16 +0800 Subject: [PATCH 17/30] finished 16 --- 16-array-sum.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..64d1e02 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -1,11 +1,11 @@ # 给定一阵列内含数字,输出最大值 def find_max(array) - #.... + result = array.max + return result end arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88] max = find_max(arr) puts "Max is #{max}" # 应该是 88 - From b3d71289cc5a112ac0aa7e825c75388e5d0b9f90 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:45:16 +0800 Subject: [PATCH 18/30] finished 17 --- 17-array-stats.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..1e8a42a 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -12,9 +12,14 @@ end end +suma = arr.inject(0, :+) +avga = suma.to_f / arr.size +maxa = arr.max +mina = arr.min + puts arr.to_s -puts "总和是 _____" -puts "平均是 _____" -puts "最大值是 _____" -puts "最小值是 _____" \ No newline at end of file +puts "总和是 #{suma}" +puts "平均是 #{avga}" +puts "最大值是 #{maxa}" +puts "最小值是 #{mina}" From 2b8f381f2b7eb151aa8c40c703b190a768a41526 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:48:46 +0800 Subject: [PATCH 19/30] finished 18 --- 18-square.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..6b8147e 100644 --- a/18-square.rb +++ b/18-square.rb @@ -5,6 +5,10 @@ print "请输入数字 N,然后按 Enter: " n = gets -# ... +i = 0 +while i <= n.to_i + arr << i**2 + i += 1 +end -puts arr.to_s \ No newline at end of file +puts arr.to_s From f60984022cf7c0fcd9c85214af6843b04e33fa27 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 19:54:06 +0800 Subject: [PATCH 20/30] finished 19 --- 19-filter.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..015f463 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -1,9 +1,15 @@ # 给定一阵列内含数字,输出另一个数组只包含偶数 def filter_even(arr) - #... + arra = [] + arr.each do |i| + if i % 2 == 0 + arra << i + end + end + return arra 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 d9d1a66f85a1238fc2a38f802693639146862d60 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 20:00:03 +0800 Subject: [PATCH 21/30] finished 20 --- 20-sorting.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..3e31016 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -2,10 +2,13 @@ # Hint: 可用 arr.sort 排序,和 arr.uniq 去除重复 def filter_even(arr) - #... + arra = [] + arra = arr.uniq.sort + return arra end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] -puts "________" # 应该是 [42, 46, 68, 86] \ No newline at end of file +puts arr.to_s +puts filter_even(arr).to_s # 应该是 [42, 46, 68, 86] From 6c894fd1c5c0fe3e868829b8f91eb85df7064592 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 22:10:53 +0800 Subject: [PATCH 22/30] finished 21 --- 21-selection-sort.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index e5e7eae..d978be8 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -2,11 +2,21 @@ # https://zh.wikipedia.org/wiki/选择排序 def selection_sort(arr) - #... + n = arr.size + for i in 0..(n - 1) + for j in (i + 1)..(n - 1) + if arr[i] >= arr[j] + tem = arr[j] + arr[j] = arr[i] + arr[i] = tem + end + end + 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 8421d3edd7ed5959e92a223c964be8b841300195 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 22:18:34 +0800 Subject: [PATCH 23/30] finished 22 --- 22-missing.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/22-missing.rb b/22-missing.rb index 6898714..3000f45 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -1,7 +1,13 @@ # 给定一阵列内含数字,请输出 0~9 中不见的数字 def find_missing(arr) - # ... + arra = [] + for i in 0..9 + if not arr.include? i + arra << i + end + end + return arra end answer = find_missing( [2,2,1,5,8,4] ) From b7c1687f78e9836c56828f574427718e7b666f33 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 22:29:18 +0800 Subject: [PATCH 24/30] finished 23 --- 23-hash-max.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..12bed97 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -1,7 +1,7 @@ # 给定一 Hash,输出有最大 value 的 key def find_max(hash) - # ... + return hash.key(hash.values.max) end h = { @@ -15,5 +15,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 00f346bdbba1cba6594afbd8c8f1d7492518f317 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 22:34:53 +0800 Subject: [PATCH 25/30] finished 24 --- 24-hash-even.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..dfed896 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -2,7 +2,15 @@ def find_even_keys(hash) - # ... (请回传一个数组) + arr = [] + + hash.each do |k, v| + if v % 2 == 0 + arr << k + end + end + + return arr end @@ -17,5 +25,3 @@ def find_even_keys(hash) answer = find_even_keys(h) puts "有偶数 value 的 keys 有 #{answer}" # 应该是数组 [b,d,e] - - From 3aabbe0971c729fe3db6820c9338283f5c59b9fd Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 22:46:29 +0800 Subject: [PATCH 26/30] finished 25 --- 25-hash-count.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..fdd73af 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -3,8 +3,10 @@ def count(arr) h = {} - arr.each do |i| - # ... + arra = arr.uniq + + arra.each do |i| + h[i] = arr.count(i) end return h # 回传一个 hash @@ -15,4 +17,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From 59980d5b49c9f94351dade2e317c20f5d5cf9af7 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 23:08:23 +0800 Subject: [PATCH 27/30] finished 26 --- 26-hash-filter.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..d68e1e9 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -8,9 +8,17 @@ { "name" => "Vincent", "age" => 6 }, ] -# .... +arra = [] -puts "所有成年人,并由小到大: _________" +arr.each do |h| + if h["age"] >= 18 + arra << h + end +end + +result = arra.sort_by { |h| h["age"] } + +puts "所有成年人,并由小到大: #{result}" # 答案应该是 #[ From 147b1b8d1aeec0166fb9cdad6cfdf2c84813555b Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 23:15:24 +0800 Subject: [PATCH 28/30] finished 27 --- 27-class.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..53224ba 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 "Hello, #{@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 6528c9ed60e9889186931f60750029c40f868012 Mon Sep 17 00:00:00 2001 From: ym6 Date: Thu, 18 Jan 2018 23:40:17 +0800 Subject: [PATCH 29/30] finished 28 --- 28-word-count.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..285b5bd 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -2,4 +2,17 @@ doc = File.read("wordcount.txt") -# ... +newdoc = doc.gsub(/(n['’]t\b)|\p{P}/, '\1') + +arr = newdoc.split + +arra = arr.uniq + +h = {} + +arra.each do |a| + h[a] = arr.count(a) +end + +puts h +puts h["ac"] From 9641daa0e18a1f84b610657a522a34e2f91bacc2 Mon Sep 17 00:00:00 2001 From: ym6 Date: Fri, 19 Jan 2018 00:01:08 +0800 Subject: [PATCH 30/30] finished 29 --- 29-todos.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..b4350f2 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -17,17 +17,26 @@ if command == "add" print "请输入代办事项: " - # ... + todos << gets.chomp + todos.each_with_index do |todo, index| + puts "#{index}: #{todo}" + end elsif command == "remove" print "请输入要删除的编号: " - # ... + todos.delete_at(gets.chomp.to_i) + todos.each_with_index do |todo, index| + puts "#{index}: #{todo}" + end elsif command == "save" puts "存盘离开" - - # ... + File.open("todos.txt", "w+") do |f| + todos.each do |todo| + f << todo + f << "\n" + end + end break; else puts "看不懂,请再输入一次" end end -