From 27bc627bc933f3433f07d52ec42f6a511012407f Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 12:53:06 +0800 Subject: [PATCH 01/28] 01-hello.rb --- 01-hello.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index e0e7bbf..cc0a520 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -3,6 +3,7 @@ print "请输入你的名字,然后按 Enter: " your_name = gets + # ... -puts "(请替换成最后的答案)" \ No newline at end of file +puts "Hello , applesilva " From e052ec648b0f61e67334089fe71915273fa7bf16 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 13:07:33 +0800 Subject: [PATCH 02/28] 02-variable.rb --- 02-variable.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/02-variable.rb b/02-variable.rb index a5a4753..6e5ab9b 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -8,6 +8,5 @@ # ... -puts "a 应该是 2,现在是 #{a}" -puts "b 应该是 1,现在是 #{b}" - +puts "a 现在是 #{b}" +puts "b 现在是 #{a}" From 4f40d8ba1c57ad8ad57ae59a82022618cd537d2e Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 13:13:11 +0800 Subject: [PATCH 03/28] 03-triangle.rb --- 03-triangle.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..0e32030 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -6,6 +6,7 @@ print "请输入直角三角形的底边,然后按 Enter: " b = gets +triangle_area = a.to_f * b.to_f / 2 # ..... -puts "直角三角形的面积是: _________" \ No newline at end of file +puts "直角三角形的面积是: #{triangle_area}" From c8dcbcaee0b47c5aa47bba6ab8f21b952b383a26 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 13:22:07 +0800 Subject: [PATCH 04/28] 04-pizzas.rb --- 04-pizzas.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..ca48810 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -6,7 +6,9 @@ print "请输入有多少人要吃,然后按 Enter: " people = gets +pizzas_per_person = (pizzas.to_i / people.to_i).floor +pizzas_left = pizzas.to_i % people.to_i # ..... -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file +puts "每人可分得几片: #{pizzas_per_person}片" +puts "还剩下几片: #{pizzas_left}片" From c778392099357a0dac686e3b03f9c73e8b51c107 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 13:41:37 +0800 Subject: [PATCH 05/28] 05-bmi.rb --- 05-bmi.rb | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..12881c5 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -1,17 +1,28 @@ -# 题目: 输入体重和身高,输出身体质量指数(BMI)和建议 -# BMI 公式为 bmi = ( 体重 / (身高x身高) ),单位是公斤和米 -# 如果 BMI < 18.5,显示过轻 -# 如果 BMI >= 24,显示过重 -# 如果 BMI 介于 18.5 ~ 24,显示正常 +# 题目: 輸入體重和身高,輸出身體質量指数(BMI)和建議 +# BMI 公式為 bmi = ( 體重 / (身高x身高) ),單位是公斤和米 +# 如果 BMI < 18.5,顯示過輕 +# 如果 BMI >= 24,顯示過重 +# 如果 BMI 界于 18.5 ~ 24,顯示正常 -print "请输入您的体重(公斤),然后按 Enter: " +print "請輸入您的體重(公斤),然後按 Enter: " weight = gets -print "请输入您的身高(厘米),然后按 Enter: " +print "請輸入您的身高(厘米),然後按 Enter: " height = gets +bmi = (weight.to_f/(height.to_f/100 * height.to_f/100)).round(1) + +result = +if bmi < 18.5 + "過輕" +elsif + bmi >= 24 + "過重" +else + "正常" +end # ..... -puts "您的 BMI 是: _________" +puts "您的 BMI 是: #{bmi}" -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 结果是: #{result}(過輕或正常或過重)" From 4ffe3e33bf7a6f63ee6c51ca246f22b72be6a137 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 13:50:33 +0800 Subject: [PATCH 06/28] 06-interger-positive.rb --- 06-interger-positive.rb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..1cd713c 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -4,7 +4,22 @@ print "请输入一个整数,然后按 Enter: " x = gets +a = +if x.to_i > 0 + "正數" +elsif x.to_i == 0 + "零" +else + "負數" +end + +b= +if x.to_i % 2 == 0 + "偶數" +else + "奇數" +end # .... -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +puts "這個數是 #{a}" +puts "這個數是 #{b}" From ad860514a656a5bbdb88054017b452b28dfdde02 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 14:00:25 +0800 Subject: [PATCH 07/28] 07-abcde.rb --- 07-abcde.rb | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..7c4a45b 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -17,6 +17,23 @@ print "请输入一个整数z,然后按 Enter: " z = gets +x = x.to_i +y = y.to_i +z = z.to_i + +m = +if x < 0 + "A" +elsif ( x > 0 ) && ( y > 0 ) && ( z > 0 ) + "B" +elsif ( x > 0 ) && ( y > 0 ) && ( z < 0 ) + "C" +elsif ( x > 0 ) && ( y < 0 ) && ( z > 0 ) + "D" +elsif ( x > 0 ) && ( y < 0 ) && ( z < 0 ) + "E" +end + # .... -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +puts "結果是 #{m}" From d6476cbfb5a107e2e8afe87588a67f4c3943c1c6 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 14:08:22 +0800 Subject: [PATCH 08/28] 08-find-max.rb --- 08-find-max.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..9261271 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -9,6 +9,13 @@ print "请输入一个数字z,然后按 Enter: " z = gets +m = 0 + +[x, y, z].each do |i| + if i.to_f > m + m = i.to_f + end +end # .... -puts "最大的数是 ________(x或y或z)" \ No newline at end of file +puts "最大的数是 #{m}" From eff2666bfcca7963250f65b68ac255a8e7994417 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 14:13:03 +0800 Subject: [PATCH 09/28] 09-function.rb --- 09-function.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..b708303 100644 --- a/09-function.rb +++ b/09-function.rb @@ -1,7 +1,7 @@ # 题目: 输入直角三角形的宽和高,输出三角形的面积 def calculate_area(a, b) - # .... + a.to_i * b.to_i / 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 dc14fae8a6bc1ce745c6661fe38a9acac1e5ba45 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 14:18:50 +0800 Subject: [PATCH 10/28] 10-function.rb --- 10-function.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..e32c210 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,6 +1,13 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + m = 0 + [x, y, z].each do |i| + if i.to_f > m + m = i.to_f + end + end + return m end print "请输入一个数字x,然后按 Enter: " @@ -16,4 +23,4 @@ def find_max(x, y, z) answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From 7c54e9631a6fcc54ec5f305d8b72bd1ad42a8472 Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 14:22:35 +0800 Subject: [PATCH 11/28] 11-seven.rb --- 11-seven.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..d760e07 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 d88ec869976d22b858f901ee200f3f36dee9822d Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 16:00:09 +0800 Subject: [PATCH 12/28] 12-sum-even.rb --- 12-sum-even.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/12-sum-even.rb b/12-sum-even.rb index 73879bb..30adf3c 100644 --- a/12-sum-even.rb +++ b/12-sum-even.rb @@ -5,9 +5,11 @@ while ( i <= 100 ) - # .... - + if i % 2 == 0 + total = total + i + end + i+=1 end -puts total \ No newline at end of file +puts total From 129388e74effb8b6771770fb431765f40a149e5f Mon Sep 17 00:00:00 2001 From: silvia Date: Sat, 23 Sep 2017 16:09:13 +0800 Subject: [PATCH 13/28] 13-nn.rb --- 13-nn.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..681fb17 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -3,9 +3,22 @@ print "请输入数字 N,然后按 Enter: " n = gets +n = n.to_i +(1..n).each{|i| + (1..i).each{|j| + p = i * j + print j.to_s + '*' + i.to_s + '=' + if p.to_s.length == 1 then + print p.to_s + ' ' + else + print p.to_s + ' ' + end + } + puts '' +} + # while ( ... ) # while ( ...) # # end # end - From 57cd4e12e04235586d20ea81fa8cb0d1d9e1cca0 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 13:45:22 +0800 Subject: [PATCH 14/28] 14-prime.rb --- 14-prime.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..45d71a3 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -1,7 +1,17 @@ # 输入一个数字 N,请检查是不是质数 def is_prime(n) -# .... + i = 2 + while i<= n/2 + + if n % i == 0 + return false + break + else + return true + end + i+=1 + end end print "请输入数字 N,然后按 Enter: " From 72ae54148904903a6333ff3dca5c24639f0d80e4 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 13:50:21 +0800 Subject: [PATCH 15/28] 15-guess-number.rb --- 15-guess-number.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/15-guess-number.rb b/15-guess-number.rb index 48f9dca..3a8690c 100644 --- a/15-guess-number.rb +++ b/15-guess-number.rb @@ -12,6 +12,10 @@ if n.to_i == target puts "恭喜猜中啦! " break + elsif n.to_i < target + puts "太低了,再猜一次" + elsif n.to_i > target + puts "太高了,再猜一次" end -end \ No newline at end of file +end From 72ebc817d0524032f9377685ce40618e53c42354 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:04:32 +0800 Subject: [PATCH 16/28] 16-array-sum.rb --- 16-array-sum.rb | 10 ++++++++-- 17-array-stats.rb | 22 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..c9d1f01 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -1,11 +1,17 @@ # 给定一阵列内含数字,输出最大值 def find_max(array) - #.... + + m = 0 + array.each do |i| + if i > m + m = i + end + end + return m end arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88] max = find_max(arr) puts "Max is #{max}" # 应该是 88 - diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..7b334f7 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -14,7 +14,21 @@ puts arr.to_s -puts "总和是 _____" -puts "平均是 _____" -puts "最大值是 _____" -puts "最小值是 _____" \ No newline at end of file +sum = 0 +m = n = arr[0] +arr.each do |i| + sum += i + if m < i + m = i + end + if n > i + n = i + end +end + +avarage = sum.to_f / arr.size + +puts "总和是 #{sum}" +puts "平均是 #{avarage}" +puts "最大值是 #{m}" +puts "最小值是 #{n}" From b4ea383856d41912db3362c3bc752f4e686edbda Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:12:58 +0800 Subject: [PATCH 17/28] 18-square.rb --- 18-square.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..b9fbf26 100644 --- a/18-square.rb +++ b/18-square.rb @@ -5,6 +5,9 @@ print "请输入数字 N,然后按 Enter: " n = gets -# ... +i = 1 +for i in 0...n.to_i do + arr << i * i +end -puts arr.to_s \ No newline at end of file +puts arr.to_s From e8280e747b3fd0724c1168b4ea4d1cbb638a6cd4 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:17:05 +0800 Subject: [PATCH 18/28] 19-filter.rb --- 19-filter.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..8ec9b06 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -1,9 +1,16 @@ # 给定一阵列内含数字,输出另一个数组只包含偶数 def filter_even(arr) - #... + arr_even = [] + + arr.each do |i| + if i % 2 == 0 + arr_even.push(i) + end + end + arr_even 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 cec3ee9cac7b09dfa53d074c36b3244532a0cdfb Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:20:52 +0800 Subject: [PATCH 19/28] 20-sorting.rb --- 20-sorting.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..ea736c5 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -2,10 +2,17 @@ # Hint: 可用 arr.sort 排序,和 arr.uniq 去除重复 def filter_even(arr) - #... + arr_even = [] + + arr.each do |i| + if i % 2 == 0 + arr_even.push(i) + end + end + arr_even.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)}" # 应该是 [42, 46, 68, 86] From 098814da115acca75b99b5c3c5ccbc86d19ab0b0 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:28:43 +0800 Subject: [PATCH 20/28] 21-selection-sort.rb --- 21-selection-sort.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index e5e7eae..0e7495f 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -2,11 +2,25 @@ # https://zh.wikipedia.org/wiki/选择排序 def selection_sort(arr) - #... + i = 0 + while i < ( arr.size - 1 ) + j = i + 1 + + while j < arr.size + if arr[i] > arr[j] + arr[i], arr[j] = arr[j], arr[i] + end + j += 1 + end + + i += 1 + end + 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 c9b8b09e37726b9c2175277279247099d5c83fe3 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 14:35:50 +0800 Subject: [PATCH 21/28] 22-missing.rb --- 22-missing.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/22-missing.rb b/22-missing.rb index 6898714..001536b 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -1,7 +1,7 @@ # 给定一阵列内含数字,请输出 0~9 中不见的数字 def find_missing(arr) - # ... + (0..9).to_a - arr.uniq end answer = find_missing( [2,2,1,5,8,4] ) From 4a6d7925754771be816758717138bb1b2dd66afd Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:25:44 +0800 Subject: [PATCH 22/28] 23-hash-max.rb --- 23-hash-max.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..2e1f797 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -1,7 +1,13 @@ # 给定一 Hash,输出有最大 value 的 key def find_max(hash) - # ... + m = hash["a"] + hash.each do |key, value| + if m < value + m = value + end + end + hash.key(m) end h = { @@ -15,5 +21,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 7cce8537338527c64b48f18538fc859fba29aa01 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:30:59 +0800 Subject: [PATCH 23/28] 24-hash-even.rb --- 24-hash-even.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..be43f13 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -2,8 +2,14 @@ def find_even_keys(hash) - # ... (请回传一个数组) - + result = {} + hash.each do |key, value| + if value % 2 == 0 + result[key] = value + end + end + result.keys + end h = { @@ -17,5 +23,3 @@ def find_even_keys(hash) answer = find_even_keys(h) puts "有偶数 value 的 keys 有 #{answer}" # 应该是数组 [b,d,e] - - From 0681013be9eebf57e7b0fc99fff98da0f8e75cb4 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:38:26 +0800 Subject: [PATCH 24/28] 25-hash-count.rb --- 25-hash-count.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..6720254 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -4,7 +4,11 @@ def count(arr) h = {} arr.each do |i| - # ... + if h[i] == nil + h[i] = 1 + else + h[i] = h[i] + 1 + end end return h # 回传一个 hash @@ -15,4 +19,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From 739469c05ec8f418857f31553cea9c69e69403ad Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:45:15 +0800 Subject: [PATCH 25/28] 26-hash.filter.rb --- 26-hash-filter.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..fd2d2a9 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -8,9 +8,16 @@ { "name" => "Vincent", "age" => 6 }, ] -# .... +a = [] -puts "所有成年人,并由小到大: _________" +arr.each do |i| + if i["age"] >= 18 + a << i + end +end +a.sort! { |x,y| x["age"] <=> y["age"]} + +puts "所有成年人,并由小到大: #{a}" # 答案应该是 #[ From 2023881058d5076d2ad69830c7e9c1e667c4d4b1 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:50:49 +0800 Subject: [PATCH 26/28] 27-class.rb --- 27-class.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..8033361 100644 --- a/27-class.rb +++ b/27-class.rb @@ -1,5 +1,9 @@ class Person - # ... + attr_accessor :first_name, :last_name + + def greet + puts "Hello, #{self.first_name}#{self.last_name}" + end end p1 = Person.new @@ -11,6 +15,3 @@ class Person p2.first_name = "William" p2.last_name = "Zhang" p2.greet # 输出 "Hello, William Zhang" - - - From 8a5b57cb4074cd6f1f5e4632dbdc81c85bb9ab69 Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 16:55:12 +0800 Subject: [PATCH 27/28] 28-word-count.rb --- 28-word-count.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..7d54b1c 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -2,4 +2,16 @@ doc = File.read("wordcount.txt") -# ... +arr = doc.split("") + +h = {} + +arr.each do |i| + if h[i] == nil + h[i] = 1 + else + h[i] = h[i] + 1 + end +end + +puts h From 480c9319a2a3e73dedd80fb60f53576cb859f4dc Mon Sep 17 00:00:00 2001 From: silvia Date: Sun, 24 Sep 2017 17:08:31 +0800 Subject: [PATCH 28/28] 29-todos.rb --- 29-todos.rb | 29 +++++++++++++++++++++++------ todos.txt | 2 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..e9fa578 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -7,8 +7,14 @@ todos << line.chomp end -todos.each_with_index do |todo, index| - puts "#{index}: #{todo}" +# todos.each_with_index do |todo, index| +# puts "#{index}: #{todo}" +# end + +def show(array) + array.each_with_index do |todo, index| + puts "#{index}: #{todo}" + end end while (true) @@ -17,17 +23,28 @@ if command == "add" print "请输入代办事项: " - # ... + + todos << gets.chomp + show(todos) + elsif command == "remove" print "请输入要删除的编号: " - # ... + + n = gets.chomp.to_i + todos.delete_at(n) + show(todos) + elsif command == "save" puts "存盘离开" - # ... + File.open("todos.txt", "w+") do |f| + todos.each do |t| + f << t + "\n" + end + end + break; else puts "看不懂,请再输入一次" end end - diff --git a/todos.txt b/todos.txt index 4757e85..81b9072 100644 --- a/todos.txt +++ b/todos.txt @@ -1,4 +1,4 @@ Buy book Go Shopping Walk -Gogo +Buy book