Today’s Ruby Tuesday is on String#rjust.
String#rjust
takes an integer, N
, and returns a string of length N
with the string that rjust
was invoked on right aligned.
"Name".rjust 20 # => " Name" "Email".rjust 20 # => " Email" "Password".rjust 20 # => " Password"
If the integer value passed to rjust
is larger than the length of the string to right justify, the return value is a new string with the same content as the original. We can see this by comparing the object_id
of the string rjust
is called on with the object_id
of the resulting string.
"foobar".rjust(4) # => "foobar" f = "foobar" # => "foobar" f.object_id # => 70206438160440 f.rjust(2).object_id # => 70206429587280 f.rjust(2).object_id # => 70206438091960
String#rjust
can also take a non-empty string as its second argument, and uses that string as the characters to pad the result with.
"Password".rjust(20, '_') # => "____________Password" "Password".rjust(20, '_-_') # => "_-__-__-__-_Password" "Password".rjust(20, ("a".."z").to_a.join) # => "abcdefghijklPassword" "Password".rjust(20, "") # ArgumentError: zero width padding # from (pry):16:in `rjust'
–Proctor