From cc0dbed6a410a7ce2b8654ed32d2d28034b2b2dd Mon Sep 17 00:00:00 2001 From: Nic Hartley Date: Wed, 3 Oct 2018 14:41:36 -0700 Subject: [PATCH 1/3] Idiomatized is that even a word? --- contents/bogo_sort/code/ruby/bogo.rb | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/contents/bogo_sort/code/ruby/bogo.rb b/contents/bogo_sort/code/ruby/bogo.rb index 18fbdb668..12c5ac295 100644 --- a/contents/bogo_sort/code/ruby/bogo.rb +++ b/contents/bogo_sort/code/ruby/bogo.rb @@ -1,31 +1,24 @@ #!/usr/bin/env ruby def is_sorted(a) - for i in 0...a.length-1 - if a[i+1] < a[i] - return false - end - end - return true + a.each_cons.all? { |(l, r)| l <= r } end def bogo_sort(a) - while !is_sorted(a) - a.shuffle! - end + a.shuffle! until is_sorted a end -def main() +def main a = [1, 1, 0, 3, 7] - puts("Unsorted") - print(a) + puts "Unsorted" + print a - bogo_sort(a) + bogo_sort a - puts("\n\nSorted") - print(a) + puts "\n\nSorted" + print a end -main() +main From 1e66d1f35c908971f0746f0ea65c0cf1bcc1610a Mon Sep 17 00:00:00 2001 From: Nic Hartley Date: Wed, 3 Oct 2018 14:44:19 -0700 Subject: [PATCH 2/3] More idiomaticity I don't think that's a real word, either --- contents/bogo_sort/code/ruby/bogo.rb | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/contents/bogo_sort/code/ruby/bogo.rb b/contents/bogo_sort/code/ruby/bogo.rb index 12c5ac295..13e4ae447 100644 --- a/contents/bogo_sort/code/ruby/bogo.rb +++ b/contents/bogo_sort/code/ruby/bogo.rb @@ -1,24 +1,19 @@ #!/usr/bin/env ruby def is_sorted(a) - a.each_cons.all? { |(l, r)| l <= r } + a.each_cons(2).all? { |(l, r)| l <= r } end def bogo_sort(a) a.shuffle! until is_sorted a end -def main - a = [1, 1, 0, 3, 7] - - puts "Unsorted" - print a - - bogo_sort a - - puts "\n\nSorted" - print a -end +a = [1, 1, 0, 3, 7] + +puts "Unsorted" +p a -main +bogo_sort a +puts "Sorted" +p a From e74edbdedfc4713934eab65c91b3dfe455668b54 Mon Sep 17 00:00:00 2001 From: Nic Hartley Date: Wed, 3 Oct 2018 14:51:55 -0700 Subject: [PATCH 3/3] Update bogo_sort.md --- contents/bogo_sort/bogo_sort.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/bogo_sort/bogo_sort.md b/contents/bogo_sort/bogo_sort.md index d46241c06..aa76bdd78 100644 --- a/contents/bogo_sort/bogo_sort.md +++ b/contents/bogo_sort/bogo_sort.md @@ -42,7 +42,7 @@ In code, it looks something like this: {% sample lang="nim" %} [import:16-18, lang:"nim"](code/nim/bogo_sort.nim) {% sample lang="ruby" %} -[import:12-16, lang:"ruby"](code/ruby/bogo.rb) +[import:7-9, lang:"ruby"](code/ruby/bogo.rb) {% endmethod %} That's it.