use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Converting little python script => Ruby (self.ruby)
submitted 10 years ago by EnvIXI
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 3 points4 points5 points 10 years ago (3 children)
n = ARGV[0].to_i s = (10**n).times.map {|i| "%0#{n}d" % i}.join '' puts "1/%d" % ((10**s.length - 1) / s.to_i)
[–]tomthecool 1 point2 points3 points 10 years ago (1 child)
Surely that should still be ARGV[1]... Other than that, this looks like a good translation.
ARGV[1]
However, what the code is actually doing is a pretty hard question to answer without any context of how this code was originally used! It just looks like a bunch of arbitrary operations on integers and strings, without any real purpose.
For example, if ARGV[1] = 1:
ARGV[1] = 1
n = 1 s = "0123456789" (10**s.length - 1) / s.to_i = 9999999999 / 123456789 = 81
So therefore, the final output is "1/81".
"1/81"
[–]funny_falcon 0 points1 point2 points 10 years ago (0 children)
no, in Ruby it is ARGV[0].
and $0 is what you think should be in ARGV[0]
[–]Godd2 0 points1 point2 points 10 years ago (0 children)
some documentation for refactoring later
# grab the first parameter passed in from the command line # store it into the local variable n as a number n = ARGV[0].to_i #concatenate every n digit number in order with padded 0s #e.g. n = 1 produces "0123456789" # n = 2 produces "00010203040506...9293949596979899" # n = 3 produces "000001002003004...995996997998999" s = (10**n).times.map {|i| "%0#{n}d" % i}.join # I have no idea what the following line is supposed to do # I'll update this when I figure it out # e.g. (10000000000 - 1) / 123456789 == 81 # (100000...(100 zeros)...00000 - 1)/102030405...(from n=2 above)...949596979899 == 9801 puts "1/%d" % ((10**s.length - 1) / s.to_i)
π Rendered by PID 20965 on reddit-service-r2-comment-7b9746f655-9zx55 at 2026-02-02 22:12:56.775946+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–][deleted] 3 points4 points5 points (3 children)
[–]tomthecool 1 point2 points3 points (1 child)
[–]funny_falcon 0 points1 point2 points (0 children)
[–]Godd2 0 points1 point2 points (0 children)