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. diff --git a/contents/bogo_sort/code/ruby/bogo.rb b/contents/bogo_sort/code/ruby/bogo.rb index 18fbdb668..13e4ae447 100644 --- a/contents/bogo_sort/code/ruby/bogo.rb +++ b/contents/bogo_sort/code/ruby/bogo.rb @@ -1,31 +1,19 @@ #!/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(2).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() - 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