diff --git a/contents/bogo_sort/bogo_sort.md b/contents/bogo_sort/bogo_sort.md index 3c052d470..dff844289 100644 --- a/contents/bogo_sort/bogo_sort.md +++ b/contents/bogo_sort/bogo_sort.md @@ -41,6 +41,8 @@ In code, it looks something like this: [import:11-16, lang:"php"](code/php/bogo_sort.php) {% 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) {% endmethod %} That's it. @@ -81,6 +83,8 @@ We are done here! [import, lang:"php"](code/php/bogo_sort.php) {% sample lang="nim" %} [import, lang:"nim"](code/nim/bogo_sort.nim) +{% sample lang="ruby" %} +[import, lang:"ruby"](code/ruby/bogo.rb) {% endmethod %} diff --git a/contents/bogo_sort/code/ruby/bogo.rb b/contents/bogo_sort/code/ruby/bogo.rb new file mode 100644 index 000000000..18fbdb668 --- /dev/null +++ b/contents/bogo_sort/code/ruby/bogo.rb @@ -0,0 +1,31 @@ +#!/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 +end + +def bogo_sort(a) + while !is_sorted(a) + a.shuffle! + end +end + +def main() + a = [1, 1, 0, 3, 7] + + puts("Unsorted") + print(a) + + bogo_sort(a) + + puts("\n\nSorted") + print(a) +end + +main() +