From d20cb324bc5d4f827a765898f0dd99634a112096 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 15:51:37 +0800 Subject: [PATCH 01/32] he he he --- 01-hello.rb | 2 +- 02-variable.rb | 7 ++----- 03-triangle.rb | 3 ++- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/01-hello.rb b/01-hello.rb index e0e7bbf..ba1e104 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "(请替换成最后的答案)" \ No newline at end of file +puts "Hello, pebble" diff --git a/02-variable.rb b/02-variable.rb index a5a4753..fb95f47 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -6,8 +6,5 @@ puts "a 是 #{a}" puts "b 是 #{b}" -# ... - -puts "a 应该是 2,现在是 #{a}" -puts "b 应该是 1,现在是 #{b}" - +puts "a 应该是 2,现在是 #{a + b - a}" +puts "b 应该是 1,现在是 #{a + b - b}" diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..85c26f2 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -8,4 +8,5 @@ # ..... -puts "直角三角形的面积是: _________" \ No newline at end of file + +puts "直角三角形的面积是: _________" From 1d8e806541dc06252e238f08888dc282764ff98d Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 16:01:36 +0800 Subject: [PATCH 02/32] errors --- 03-triangle.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/03-triangle.rb b/03-triangle.rb index 85c26f2..3aa8a09 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -7,6 +7,6 @@ b = gets # ..... +area = a * b / 2 - -puts "直角三角形的面积是: _________" +puts "直角三角形的面积是: #{area}" From caae5d93a4c6e759f366e9c458a094537c0c2ce2 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 16:04:00 +0800 Subject: [PATCH 03/32] 01-hello --- 01-hello.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index ba1e104..249f499 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "Hello, pebble" +puts "Hello, king" From 6a78bae518fb1afa5264d025a8f6b52533a91859 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 16:08:12 +0800 Subject: [PATCH 04/32] 02-variable --- 02-variable.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/02-variable.rb b/02-variable.rb index fb95f47..53b4c95 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -6,5 +6,9 @@ puts "a 是 #{a}" puts "b 是 #{b}" -puts "a 应该是 2,现在是 #{a + b - a}" -puts "b 应该是 1,现在是 #{a + b - b}" +c = a +a = b +b = c + +puts "a 应该是 2,现在是 #{a}" +puts "b 应该是 1,现在是 #{b}" From 75b25d78e32e228f914aef2c7d2ad35c78cc4f6e Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 16:15:46 +0800 Subject: [PATCH 05/32] 03-triangle --- 03-triangle.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/03-triangle.rb b/03-triangle.rb index 3aa8a09..77dfaa3 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -6,7 +6,8 @@ print "请输入直角三角形的底边,然后按 Enter: " b = gets + # ..... -area = a * b / 2 +s = (a.to_f*a.to_f)/2 -puts "直角三角形的面积是: #{area}" +puts "直角三角形的面积是: #{s}" From 412f05c48a8349b0ef8c144e5faf8e7ba81bac57 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 16:24:32 +0800 Subject: [PATCH 06/32] 04-pizzas --- 04-pizzas.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..cf93c0e 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -7,6 +7,11 @@ people = gets # ..... + s1 = pizzas + s2 = people + t1 = s1.to_i/s2.to_i + t2 = s1.to_i%s2.to_i -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file + +puts "每人可分得几片: #{t1} 片" +puts "还剩下几片: #{t2} 片" From a7a2de747cd89817244ecd0223611d28f8e6e885 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 18:03:45 +0800 Subject: [PATCH 07/32] 05-bmi --- 05-bmi.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..9bf7c09 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -11,7 +11,18 @@ height = gets # ..... +w = weight +h = height +b = w.to_f/(h.to_f*h.to_f)*100*100 -puts "您的 BMI 是: _________" +if b < 18.5 + t = "过轻" +elsif b >= 24 + t = "过重" +else ( b >= 18.5 ) && ( b < 24 ) + t = "正常" +end -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 是: #{b}" + +puts "您的 BMI 结果是: #{t}(过轻或正常或过重)" From db10e2438d4a80e6506eef796cdf331ca136e098 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 18:38:00 +0800 Subject: [PATCH 08/32] 06-interger-positive --- 06-interger-positive.rb | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..11f2694 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -5,6 +5,23 @@ x = gets # .... +s = x.to_i +s1 = s%2 -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +if s < 0 + t = "负数" +elsif s > 0 + t = "正数" +else + t = "零" +end + +if s1 > 0 + t1 = "奇数" +elsif s1 == 0 + t1 = "偶数" +end + + +puts "这个数是: #{t}(正数或零或负数)" +puts "这个数是: #{t1} (偶数或奇数)" From 352b355ebc45cafea9daf716a51492bb83bbef9d Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 19:49:17 +0800 Subject: [PATCH 09/32] 07-abcde --- 07-abcde.rb | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..e890710 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -18,5 +18,43 @@ z = gets # .... +=begin +t1 = x.to_i +t2 = y.to_i +t3 = z.to_i -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +if t1 < 0 + s = "A" +elsif t1 > 0 && t2 > 0 && t3 > 0 + s = "B" +elsif t1 > 0 && t2 > 0 && t3 < 0 + s = "C" +elsif t1 > 0 && t2 < 0 && t3 > 0 + s = "D" +else t1 >0 && t2 < 0 && t3 < 0 + s = "E" +end +=end + +x = x.to_i +y = y.to_i +z = z.to_i + +if x < 0 + s = "A" +elsif x > 0 && y > 0 + if z > 0 + s = "B" + elsif z < 0 + s = "C" + end +elsif x > 0 && y < 0 + if z > 0 + s = "D" + elsif z < 0 + s = "E" + end +end + + +puts "结果是: #{s} (A或B或C或D或E)" From 3c87607aba6fa6e551b8f67dc951bcc6751a2b63 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 20:16:33 +0800 Subject: [PATCH 10/32] 08-find-max --- 08-find-max.rb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..f0ba7a1 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -10,5 +10,20 @@ z = gets # .... +x = x.to_i +y = y.to_i +z = z.to_i -puts "最大的数是 ________(x或y或z)" \ No newline at end of file + + +if x >= y && x >= z + t = "x" +elsif y >= z && y >= x + t = "y" +elsif z >= x && z >= y + t = "z" +end + +# t = [x, y, z].max + +puts "最大的数是: #{t} (x或y或z)" From 81818861794153681931a18143bd313b93b7c331 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 20:20:58 +0800 Subject: [PATCH 11/32] 09-function --- 09-function.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..6fa1049 100644 --- a/09-function.rb +++ b/09-function.rb @@ -2,6 +2,9 @@ def calculate_area(a, b) # .... + a = a.to_f + b = b.to_f + s = ( a * b ) / 2 end print "请输入直角三角形的高,然后按 Enter: " @@ -12,4 +15,4 @@ def calculate_area(a, b) answer = calculate_area(a,b) -puts "直角三角形的面积是: #{answer}" \ No newline at end of file +puts "直角三角形的面积是: #{answer}" From 75e52a3096350c2bcb4209b73232ade11fb3b01d Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 20:41:19 +0800 Subject: [PATCH 12/32] 10-function --- 10-function.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..35a511b 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,6 +1,18 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + x = x.to_f + y = y.to_f + z = z.to_f + + if x >= y && x >= z + t = "x" + elsif y >= z && y >= x + t = "y" + elsif z >= x && z >= y + t = "z" + end + end print "请输入一个数字x,然后按 Enter: " @@ -16,4 +28,4 @@ def find_max(x, y, z) answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From b5d0d05f44dcee8ef1aa00a6398ff5e1e88d2879 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 20:47:42 +0800 Subject: [PATCH 13/32] 11-seven --- 11-seven.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..82def6d 100644 --- a/11-seven.rb +++ b/11-seven.rb @@ -4,6 +4,9 @@ while ( i <= 100 ) # .... - - i+=1 -end \ No newline at end of file + if i % 7 == 0 + puts i + end + i += 1 + +end From 936e3ed8b80c7bf0f559ef6abbaa43363ac6f042 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 20:53:18 +0800 Subject: [PATCH 14/32] 12-sum-seven --- 12-sum-even.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/12-sum-even.rb b/12-sum-even.rb index 73879bb..34e8aec 100644 --- a/12-sum-even.rb +++ b/12-sum-even.rb @@ -7,7 +7,12 @@ # .... + if i % 2 == 0 + puts i + total += i + end + i+=1 end -puts total \ No newline at end of file +puts total From fe2d9b96eb91456ae45c9129f1c8048590a28e22 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 21:06:30 +0800 Subject: [PATCH 15/32] 13-nn --- 13-nn.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..1d44ae8 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -2,10 +2,21 @@ print "请输入数字 N,然后按 Enter: " n = gets +n = n.to_i +x = x.to_i +y = y.to_i # while ( ... ) # while ( ...) # # end # end - +x = 0 +while x <= n + y = 0 + while y <= n + puts "#{x} x #{y} = #{x*y}" + y += 1 + end + x += 1 +end From 9ea1b72aef37324806df2b72ec970d35192d994b Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 21:54:45 +0800 Subject: [PATCH 16/32] =?UTF-8?q?14-prime=20=E6=95=B0=E5=AD=A6=E6=A6=82?= =?UTF-8?q?=E5=BF=B5=E9=AA=8C=E8=AF=81=E8=BF=87=E7=A8=8B=E4=B8=8D=E7=90=86?= =?UTF-8?q?=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14-prime.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..7af5487 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -2,6 +2,24 @@ def is_prime(n) # .... + if n < 2 + return false + end + + if n == 2 + return true + end + + if n > 2 + i = 2 + while i <= n/2 + if n % i == 0 + return false + end + i += 1 + end + return true + end end print "请输入数字 N,然后按 Enter: " From cf7cbdab39a17f6aa23a02972c6bc81fdaabf630 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 22:01:32 +0800 Subject: [PATCH 17/32] 15-guess-number --- 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..88a1a46 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 42709967d162d687c2a2b1e8629e261ba2e8418f Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 22:29:54 +0800 Subject: [PATCH 18/32] 16-array-sum --- 16-array-sum.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..c702f39 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -2,10 +2,16 @@ def find_max(array) #.... + m = array[0] + array.each do |i| + if m < i + 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 - From 4d1e4b2a52a9e8dfc85aed4bb1c31d3dfa53acb5 Mon Sep 17 00:00:00 2001 From: ypj Date: Thu, 5 Oct 2017 22:52:22 +0800 Subject: [PATCH 19/32] 17-array-stats --- 17-array-stats.rb | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..e03a37c 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -14,7 +14,22 @@ 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 + +average = sum / arr.size + + +puts "总和是 #{sum}" +puts "平均是 #{average}" +puts "最大值是 #{m}" +puts "最小值是 #{n}" From ccbc57915f4a9e3ef8183a9862960923d97a3a0e Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 14:26:34 +0800 Subject: [PATCH 20/32] 18-square --- 18-square.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..8637155 100644 --- a/18-square.rb +++ b/18-square.rb @@ -5,6 +5,12 @@ print "请输入数字 N,然后按 Enter: " n = gets +n = n.to_i + +(0..n-1).each_with_index do |i| + # arr.push (i*i) + arr << i ** 2 +end # ... -puts arr.to_s \ No newline at end of file +puts arr.to_s From 38c859639019f25c4db6404537ed27689fecca8a Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 14:35:45 +0800 Subject: [PATCH 21/32] 19-filter --- 19-filter.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..1b16f9b 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -2,8 +2,15 @@ def filter_even(arr) #... + arr2 = [] + arr.each do |i| + if i % 2 == 0 + arr2.push (i) + end + end + arr2 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 95370ed9c7bc26fd038916de92d46a13a2df3edd Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 14:47:51 +0800 Subject: [PATCH 22/32] 20-sorting.rb --- 20-sorting.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..876372a 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -3,9 +3,17 @@ def filter_even(arr) #... + arr2 = [] + arr.each do |i| + if i % 2 == 0 + arr2.push(i) + end + end + arr2 = arr2.uniq + arr2 = arr2.sort 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 1d0a6018dd079eaaeb2a9a7347579fc561be3b3d Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 15:26:00 +0800 Subject: [PATCH 23/32] 21-selection-sort --- 21-selection-sort.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index e5e7eae..f6fdecb 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -3,10 +3,22 @@ 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 5e2fc34f5661aa61f851dd075bf976fce522bbe2 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 15:34:46 +0800 Subject: [PATCH 24/32] 22-missing --- 22-missing.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/22-missing.rb b/22-missing.rb index 6898714..e7e3af9 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -2,6 +2,20 @@ def find_missing(arr) # ... + missingArr = [] + for i in 0..9 + missing = true + for a in arr + if a == i + missing = false + break + end + end + if missing + missingArr.push(i) + end + end + missingArr end answer = find_missing( [2,2,1,5,8,4] ) From d70ecbd753378595fb8f17e4af7e1f120ec6e2f6 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:09:00 +0800 Subject: [PATCH 25/32] 23-hash-max --- 23-hash-max.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..4915875 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -2,6 +2,13 @@ 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 +22,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 31a879216fae51d70f6b10be447f22b176996642 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:12:45 +0800 Subject: [PATCH 26/32] 24-hash-even --- 24-hash-even.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..6451655 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -3,7 +3,13 @@ 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 0380b246b809769c1e615db2a2ca875035362e1c Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:23:06 +0800 Subject: [PATCH 27/32] 25-hash-count --- 25-hash-count.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..158569d 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -5,6 +5,11 @@ def count(arr) arr.each do |i| # ... + if h[i] == nil + h[i] = 1 + else + h[i] += 1 + end end return h # 回传一个 hash @@ -15,4 +20,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From 15689cf9819022201356f09db84c461fdf5984d0 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:30:13 +0800 Subject: [PATCH 28/32] 26-hash-filter --- 26-hash-filter.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..5f2dcae 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -9,8 +9,15 @@ ] # .... +a = [] +arr.each do |i| + if i["age"] >= 18 + a << i + end +end +a.sort! { |x, y| x["age"] <=> y["age"] } -puts "所有成年人,并由小到大: _________" +puts "所有成年人,并由小到大: #{a}" # 答案应该是 #[ From 8cb44446dbe0e4db895041289d413171b9be1b28 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:42:50 +0800 Subject: [PATCH 29/32] 27-class --- 27-class.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..a4db247 100644 --- a/27-class.rb +++ b/27-class.rb @@ -1,5 +1,10 @@ class Person # ... + attr_accessor :first_name, :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 814c550a71eb971e22dbc7655b241d75bdb07c38 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 16:55:24 +0800 Subject: [PATCH 30/32] 28-word-count --- 28-word-count.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..8d0c12f 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -3,3 +3,15 @@ doc = File.read("wordcount.txt") # ... +arr = doc.split("") +h = {} + +arr.each do |wd| + if h[d] == nil + h[d] = 1 + else + h[d] += 1 + end +end + +puts h From 10360a707662e5158df83c26bf49dbb35e6d30a9 Mon Sep 17 00:00:00 2001 From: ypj Date: Fri, 6 Oct 2017 17:36:29 +0800 Subject: [PATCH 31/32] 29-todos --- 29-todos.rb | 12 ++++++++++-- todos.txt | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..ad4494c 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -18,16 +18,24 @@ if command == "add" print "请输入代办事项: " # ... + newTodo = gets.chomp + todos.push(newTodo) elsif command == "remove" print "请输入要删除的编号: " # ... + i = gets.chomp.to_i + todos.delete_at(i) elsif command == "save" puts "存盘离开" - # ... + File.open("todos.txt", "w+") do |f| + todos.each do |line| + f << line + f << "\n" + end + end break; else puts "看不懂,请再输入一次" end end - diff --git a/todos.txt b/todos.txt index 4757e85..840bb11 100644 --- a/todos.txt +++ b/todos.txt @@ -1,4 +1,4 @@ Buy book Go Shopping -Walk -Gogo +Ruby on Rails +gogo From 757deb115d7cb5b3f53831a2a1ff00ccaa1aa92d Mon Sep 17 00:00:00 2001 From: pebble Date: Tue, 7 Nov 2017 11:20:17 +0800 Subject: [PATCH 32/32] 01-hello.rb --- 01-hello.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index 249f499..a978e84 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "Hello, king" +puts "Hello, #{your_name}"