read

puts converts ruby object into string by invoking to_s method on object. The default to_s prints the object’s class and an encoding of the object id. In order to print human readable form of object use inspect

<div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>locs = Location.find_by_sql('select * from locations') </div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'>Location Load (0.5ms) select * from locations</div></div></pre></div>

Puts Object internally invokes to_s method on object to print

<div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>locs.each do |l| </div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'> # it calls to_s method on object </div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'> puts l </div></div><div data-line='4' class='code-highlight-row numbered'><div class='code-highlight-line'>end </div></div><div data-line='5' class='code-highlight-row numbered'><div class='code-highlight-line'> </div></div><div data-line='6' class='code-highlight-row numbered'><div class='code-highlight-line'>#<Location:0x000000055bb328> </div></div><div data-line='7' class='code-highlight-row numbered'><div class='code-highlight-line'>#<Location:0x000000055bb058></div></div></pre></div>

puts object followed by subsequent invoke of inspect method outputs readable object

<div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>locs.each do |l| </div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'> puts l.inspect # prints actual object </div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'>end </div></div><div data-line='4' class='code-highlight-row numbered'><div class='code-highlight-line'> </div></div><div data-line='5' class='code-highlight-row numbered'><div class='code-highlight-line'>#<Location id: 15, name: "Annettaside3", street: "71838 Ritchie Cape", city: "East Destanystad", state: "Utah", zip: "58054", phone: 123456, other_phone: 987654, staff_strength: 40, is_active: true, created_at: "2012-01-25 11:17:26", updated_at: "2012-01-25 11:17:26", country_name: "Korea"> </div></div><div data-line='6' class='code-highlight-row numbered'><div class='code-highlight-line'>#<Location id: 16, name: "Sporerbury4", street: "73057 Jerad Shoal", city: "South Kyliefurt", state: "Delaware", zip: "46553-3376", phone: 123456, other_phone: 987654, staff_strength: 40, is_active: true, created_at: "2012-01-25 11:24:48", updated_at: "2012-01-25 11:24:48", country_name: "Australia"></div></div></pre></div>

Blog Logo

Sandip Ransing


Published

Image

Fun On Rails

Journal of a Web Developer #ruby #rails #JS

Back to Overview