diff options
| author | Abigail <abigail@abigail.be> | 2021-08-20 00:28:38 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-08-20 00:28:38 +0200 |
| commit | e5918fc89ecab96a9bee4940f85db02fd174ffba (patch) | |
| tree | 052f555a4f43f2f34e09d789daf098c3265c8298 /challenge-126/abigail | |
| parent | ceeeb1bec20fca90c87aa2c00ccb30d3cb4ae60b (diff) | |
| download | perlweeklychallenge-club-e5918fc89ecab96a9bee4940f85db02fd174ffba.tar.gz perlweeklychallenge-club-e5918fc89ecab96a9bee4940f85db02fd174ffba.tar.bz2 perlweeklychallenge-club-e5918fc89ecab96a9bee4940f85db02fd174ffba.zip | |
Ruby solution for week 126, part 1
Diffstat (limited to 'challenge-126/abigail')
| -rw-r--r-- | challenge-126/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-126/abigail/ruby/ch-1.rb | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-126/abigail/README.md b/challenge-126/abigail/README.md index b6e47b7da1..f030490973 100644 --- a/challenge-126/abigail/README.md +++ b/challenge-126/abigail/README.md @@ -33,6 +33,7 @@ There are 13 numbers between `1` and `25` that don't contain digit `1`: * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) ### Blog [Perl Weekly Challenge 126: Count Numbers][blog1] diff --git a/challenge-126/abigail/ruby/ch-1.rb b/challenge-126/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..1f8e38655f --- /dev/null +++ b/challenge-126/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 + |n| + result = 0 + seen_one = false + n . scan(/[0-9]/) do + |digit| + result *= 9 + if (seen_one) + result += 8 + elsif (digit == "1") + seen_one = true + elsif (digit != "0") + result += digit . to_i - 1 + end + end + puts (result) +end |
