# Differenza di risulatato tra p e puts

**URL:** <https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336>\
**Category:** IT\
**Created:** [June 8, 2007, 6:47pm UTC](https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336 "2007-06-08T18:47:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mentat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/74df32/32.png) [@mentat](https://www.ruby-forum.com/u/mentat)\
**Post date:** [June 8, 2007, 6:47pm UTC](https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336/1 "2007-06-08T18:47:02Z")

</div>

Ciao a tutti. Una curiosita’…lol  
---------- Inizio codice ---------------  
a = [1,2,3,4]  
a.map { |i| i\*2 }  
p a  
=\>[1,2,3,4]  
----------- Fine codice -----------------  
Se invece i p usiamo puts il risultato e’  
1  
2  
3  
4  
Ancora…usando print si ottiene  
1234  
Qualcuno sa’ spiegarmi perche’?  
Grazie per la risposta.

---

<div class="post-metadata">

**Author:** ![mentat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/74df32/32.png) [@mentat](https://www.ruby-forum.com/u/mentat)\
**Post date:** [June 8, 2007, 7:03pm UTC](https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336/2 "2007-06-08T19:03:52Z")

</div>

— Giovanni C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 3  
> 4  
> Ancora…usando print si ottiene  
> 1234  
> Qualcuno sa’ spiegarmi perche’?

in breve, se non ricordo male:  
def p(\*args)  
args.each {|a| puts a.inspect }  
end  
def puts(\*args)  
args.each do |a|  
if a.is\_a? Array  
a.each {|e| puts e}  
else  
print a.to\_s+“\n”  
end

```
  ___________________________________________________________

```

Yahoo! Answers - Got a question? Someone out there knows the answer. Try  
it  
now.

> **[Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos](https://www.yahoo.com/)**
>
> Latest news coverage, email, free stock quotes, live scores and video are just the beginning. Discover more every day at Yahoo!

---

<div class="post-metadata">

**Author:** ![mentat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/74df32/32.png) [@mentat](https://www.ruby-forum.com/u/mentat)\
**Post date:** [June 8, 2007, 7:08pm UTC](https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336/3 "2007-06-08T19:08:52Z")

</div>

— gabriele renzi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Se invece i p usiamo puts il risultato e’  
> > 1  
> > 2  
> > 3  
> > 4  
> > Ancora…usando print si ottiene  
> > 1234  
> > Qualcuno sa’ spiegarmi perche’?
> 
> in breve, se non ricordo male:

ah e ovviamente

def print(\*args)  
args.each {|x| STDOUT.sys\_write(x.to\_s)  
end

e il poco noto scheme-ish

class Object  
def display(out=STDOUT)  
out.sys\_write(self.to\_s)  
end  
end

```
  ___________________________________________________________

```

Yahoo! Mail is the world’s favourite email. Don’t settle for less, sign  
up for  
your free account today  
[http://uk.rd.yahoo.com/evt=44106/\*http://uk.docs.yahoo.com/mail/winter07.html](http://uk.rd.yahoo.com/evt=44106/*http://uk.docs.yahoo.com/mail/winter07.html)

---

<div class="post-metadata">

**Author:** ![mentat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/74df32/32.png) [@mentat](https://www.ruby-forum.com/u/mentat)\
**Post date:** [June 9, 2007, 12:57pm UTC](https://www.ruby-forum.com/t/differenza-di-risulatato-tra-p-e-puts/106336/4 "2007-06-09T12:57:04Z")

</div>

gabriele renzi wrote:

Grazie per le risposte!
