diff options
| author | Abigail <abigail@abigail.be> | 2021-05-11 01:24:43 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-05-11 01:24:43 +0200 |
| commit | 6b21ba5c2303a59a3cca7b693ea0a55faf766c95 (patch) | |
| tree | 8ac30c0bf239497fcc4c2a43eb29005e6aa763da | |
| parent | bfb3640986af5c780b19d4165f36892336cdbcc9 (diff) | |
| download | perlweeklychallenge-club-6b21ba5c2303a59a3cca7b693ea0a55faf766c95.tar.gz perlweeklychallenge-club-6b21ba5c2303a59a3cca7b693ea0a55faf766c95.tar.bz2 perlweeklychallenge-club-6b21ba5c2303a59a3cca7b693ea0a55faf766c95.zip | |
Ruby solutions for week 112
| -rw-r--r-- | challenge-112/abigail/README.md | 2 | ||||
| -rw-r--r-- | challenge-112/abigail/ruby/ch-1.rb | 27 | ||||
| -rw-r--r-- | challenge-112/abigail/ruby/ch-2.rb | 22 |
3 files changed, 51 insertions, 0 deletions
diff --git a/challenge-112/abigail/README.md b/challenge-112/abigail/README.md index 4b619db213..2b454118bb 100644 --- a/challenge-112/abigail/README.md +++ b/challenge-112/abigail/README.md @@ -40,6 +40,7 @@ Output: "/a" * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) ### Blog @@ -62,5 +63,6 @@ This is just finding the `$n + 1` Fibonacci number. * [Node.js](node/ch-1.js) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) +* [Ruby](ruby/ch-1.rb) ### Blog diff --git a/challenge-112/abigail/ruby/ch-1.rb b/challenge-112/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..e26463cb68 --- /dev/null +++ b/challenge-112/abigail/ruby/ch-1.rb @@ -0,0 +1,27 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-1.rb < input-file +# + +ARGF . each_line do + | line | + parts = line . strip() . split (/\/+/) + parts2 = [] + parts . each do + | part | + if part == "" or part == "." # Skip empty parts and current directory + next + end + if part == ".." # Remove parent directory + parts2 . pop + next + end + parts2 . push (part) # Add part + end + puts ("/" + parts2 . join("/")) # Print result +end diff --git a/challenge-112/abigail/ruby/ch-2.rb b/challenge-112/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..68c59fef40 --- /dev/null +++ b/challenge-112/abigail/ruby/ch-2.rb @@ -0,0 +1,22 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-1.rb < input-file +# + +$cache = {} +$cache [0] = 1 +$cache [1] = 1 + +def fib (n) + $cache [n] ||= fib(n - 1) + fib(n - 2) +end + +ARGF . each_line do + | n | + puts (fib(n . to_i)) +end |
