diff --git a/03_recursion/ruby/01_countdown.rb b/03_recursion/ruby/01_countdown.rb new file mode 100644 index 0000000..d28b3b1 --- /dev/null +++ b/03_recursion/ruby/01_countdown.rb @@ -0,0 +1,12 @@ +def countdown(i) + puts i + # base case + if i <= 0 + return + # recursive case + else + countdown(i - 1) + end +end + +countdown(5) diff --git a/03_recursion/ruby/02_greet.rb b/03_recursion/ruby/02_greet.rb new file mode 100644 index 0000000..200d4e1 --- /dev/null +++ b/03_recursion/ruby/02_greet.rb @@ -0,0 +1,16 @@ +def greet2(name) + puts "how are you, #{name}?" +end + +def bye + print "ok bye!" +end + +def greet(name) + puts "hello, #{name}!" + greet2(name) + puts "getting ready to say bye..." + bye +end + +greet("adit") diff --git a/03_recursion/ruby/03_factorial.rb b/03_recursion/ruby/03_factorial.rb new file mode 100644 index 0000000..a5c0a99 --- /dev/null +++ b/03_recursion/ruby/03_factorial.rb @@ -0,0 +1,9 @@ +def fact(x) + if x == 1 + 1 + else + x * fact(x - 1) + end +end + +puts fact(5)