[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Using the p command to print files

John Maclean

1/2/2006 3:42:00 AM

If any one has a copy of "why's poignant guide to ruby", turn to page 45. I can see immediately that
i)`ruby p Dir ['*']` works and lists all files within a specified directory. However
ii)`ruby p File::methods` produces the error..."ruby: No such file or directory -- p (LoadError)"
Is ii) just a way to show the generic syntax of the command?

--
John Maclean
MSc (DIC)
07739 171 531



5 Answers

Carlos

1/2/2006 5:26:00 AM

0

[John Maclean <info@jayeola.org>, 2006-01-02 04.42 CET]
> If any one has a copy of "why's poignant guide to ruby", turn to page 45. I can see immediately that
> i)`ruby p Dir ['*']` works and lists all files within a specified directory. However
> ii)`ruby p File::methods` produces the error..."ruby: No such file or directory -- p (LoadError)"
> Is ii) just a way to show the generic syntax of the command?

I downloaded the PDF file and didn't find what you wrote on page 45, only
something like it on page 35. Next time please try to find the relevant html
page (it is a little upwards from
<http://poignantguide.net/ruby/chapter-4.html#se...).

The examples given are:

i) p Dir['idea-*.txt']

ii) p File::methods

(there are no "ruby" or backticks). You should try them on an irb shell, or
writing them on a file and then running it with "ruby file", or passing them
as a parameter to ruby, after the parameter "-e", so:

ruby -e "p Dir['idea-*.txt']"

ruby -e "p File::methods"

It's best to do that only if you understand how your command shell
interprets quotes.

Good luck.


Benjamin Stiglitz

1/2/2006 5:32:00 AM

0

> ii) just a way to show the generic syntax of the command?

If you've done a full Ruby install, you should have the ri command at
your disposal:

Example usage:
ri Object
ri Object::new
ri Kernel#p

-Ben


pere.noel

1/2/2006 7:25:00 AM

0

Benjamin Stiglitz <ben@tanjero.com> wrote:

> ri Object::new
~/Desktop/ruby-1.8.4%> ri Object::new
------------------------------------------------------------ Object::new
Object::new()
------------------------------------------------------------------------
Not documented
~/Desktop/ruby-1.8.4%> ri Kernel#p
zsh: no matches found: Kernel#p

just for fun )))
--
une bévue

Ezra Zygmuntowicz

1/2/2006 7:42:00 AM

0


On Jan 1, 2006, at 11:27 PM, Une bévue wrote:

> Benjamin Stiglitz <ben@tanjero.com> wrote:
>
>> ri Object::new
> ~/Desktop/ruby-1.8.4%> ri Object::new
> ------------------------------------------------------------
> Object::new
> Object::new()
> ----------------------------------------------------------------------
> --
> Not documented
> ~/Desktop/ruby-1.8.4%> ri Kernel#p
> zsh: no matches found: Kernel#p
>
> just for fun )))
> --
> une bévue
>

(~/):~>$: ri "Kernel#p"

--------------------------------------------------------------- Kernel#p
p(obj, ...) => nil
------------------------------------------------------------------------
For each object, directly writes obj.inspect followed by the
current output record separator to the program's standard output.
p bypasses the Ruby I/O libraries.

S = Struct.new(:name, :state)
s = S['dave', 'TX']
p s

produces:

#<S name="dave", state="TX">

you need to quote it because of the # char

Cheers-
Ezra

pere.noel

1/2/2006 10:11:00 AM

0

Ezra Zygmuntowicz <ezmobius@gmail.com> wrote:

> you need to quote it because of the # char

fine, thanks, i got it ;-)

--
une bévue