<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Say what???: Ruby Method of the Day - String.center</title>
    <link>http://drotner.org/articles/2007/09/20/ruby-method-of-the-day-string-center-justify</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>by Kelly McCauley</description>
    <item>
      <title>Ruby Method of the Day - String.center</title>
      <description>&lt;h3&gt;Signature&lt;/h3&gt;




&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;string.center(length)                 &lt;span class="c"&gt;#=&amp;gt; new_string&lt;/span&gt;
string.center(length, padding_string) &lt;span class="c"&gt;#=&amp;gt; new_string&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;String.center&lt;/code&gt; method is in the same family of methods as
&lt;a href="http://drotner.org/articles/2007/09/18/ruby-method-of-the-day-string-left-justify"&gt;&lt;code&gt;String.ljust&lt;/code&gt;&lt;/a&gt;
and
&lt;a href="http://drotner.org/articles/2007/09/19/ruby-method-of-the-day-string-right-justify"&gt;&lt;code&gt;String.rjust&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;string.ljust(length)&lt;/code&gt; centers &lt;code&gt;string&lt;/code&gt; to the given &lt;code&gt;length&lt;/code&gt;.  If &lt;code&gt;length&lt;/code&gt; is
greater than the length of &lt;code&gt;string&lt;/code&gt; then a new string is returned that is both
left and right padded to &lt;code&gt;length&lt;/code&gt;.  If &lt;code&gt;length&lt;/code&gt; is less than or equal to the
length of &lt;code&gt;string&lt;/code&gt;, then &lt;code&gt;string.center(length)&lt;/code&gt; returns a new string that is
equal to &lt;code&gt;string&lt;/code&gt; and &lt;em&gt;no&lt;/em&gt; padding or truncating occurs.&lt;/p&gt;

	&lt;h3&gt;Examples&lt;/h3&gt;




&lt;table class="CodeRay"&gt;&lt;tr&gt;
  &lt;td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;13&lt;tt&gt;
&lt;/tt&gt;14&lt;tt&gt;
&lt;/tt&gt;15&lt;tt&gt;
&lt;/tt&gt;16&lt;tt&gt;
&lt;/tt&gt;17&lt;tt&gt;
&lt;/tt&gt;18&lt;tt&gt;
&lt;/tt&gt;19&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;20&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;21&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class="code"&gt;&lt;pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }"&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;.center(&lt;span class="i"&gt;10&lt;/span&gt;)      &lt;span class="c"&gt;#=&amp;gt; &amp;quot;   foo    &amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;.center(&lt;span class="i"&gt;10&lt;/span&gt;,&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;)  &lt;span class="c"&gt;#=&amp;gt; &amp;quot;xxxfooxxxx&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;.center(&lt;span class="i"&gt;2&lt;/span&gt;)       &lt;span class="c"&gt;#=&amp;gt; &amp;quot;foo&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;.center(&lt;span class="i"&gt;2&lt;/span&gt;,&lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;)   &lt;span class="c"&gt;#=&amp;gt; &amp;quot;foo&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;l = &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;left&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;            &lt;span class="c"&gt;#=&amp;gt; &amp;quot;left&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;r = &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;right&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;           &lt;span class="c"&gt;#=&amp;gt; &amp;quot;right&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;c = &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;center&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;          &lt;span class="c"&gt;#=&amp;gt; &amp;quot;center&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;l.ljust(&lt;span class="i"&gt;8&lt;/span&gt;) + c.center(&lt;span class="i"&gt;8&lt;/span&gt;) + r.rjust(&lt;span class="i"&gt;8&lt;/span&gt;)   &lt;span class="c"&gt;#=&amp;gt; &amp;quot;left     center    right&amp;quot;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;text = &lt;span class="s"&gt;&lt;span class="dl"&gt;&amp;lt;&amp;lt;-'END'&lt;/span&gt;&lt;/span&gt;&lt;span class="s"&gt;&lt;span class="k"&gt;&lt;tt&gt;
&lt;/tt&gt;Lorem ipsum dolor sit amet, consectetuer&lt;tt&gt;
&lt;/tt&gt;adipiscing elit. Ut ac nulla.  Duis sed est.&lt;tt&gt;
&lt;/tt&gt;Praesent at dui et velit tempor cursus.&lt;tt&gt;
&lt;/tt&gt;Morbi purus tortor, tempus tincidunt,&lt;tt&gt;
&lt;/tt&gt;placerat sit amet, dignissim quis, nulla.&lt;tt&gt;
&lt;/tt&gt;Duis ipsum. Proin fringilla.&lt;/span&gt;&lt;span class="dl"&gt;&lt;tt&gt;
&lt;/tt&gt;END&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class="c"&gt;# Prints out each line of the paragraph above, centered.&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;text.each_line {|l| puts l.chomp.center(&lt;span class="i"&gt;50&lt;/span&gt;) }&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;



	&lt;h3&gt;Documentation Reference&lt;/h3&gt;


	&lt;p&gt;&lt;a href="http://www.ruby-doc.org"&gt;www.ruby-doc.org&lt;/a&gt; : &lt;a href="http://www.ruby-doc.org/core/classes/String.html#M000830"&gt;String.center&lt;/a&gt;&lt;/p&gt;


</description>
      <pubDate>Thu, 20 Sep 2007 00:01:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:27a390fb-feb1-4f4d-b2cc-19baf70b9a31</guid>
      <author>Kelly McCauley</author>
      <link>http://drotner.org/articles/2007/09/20/ruby-method-of-the-day-string-center-justify</link>
      <category>Ruby Method of the Day</category>
      <category>Programming</category>
      <category>ruby</category>
      <category>rmotd</category>
    </item>
  </channel>
</rss>
