Forum: Ruby Using the p command to print files

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
John M. (Guest)
on 2006-01-02 05:43
(Received via mailing list)
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?
angus (Guest)
on 2006-01-02 07:28
(Received via mailing list)
[John M. <removed_email_address@domain.invalid>, 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#section4>).

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 S. (Guest)
on 2006-01-02 07:34
(Received via mailing list)
> 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
unknown (Guest)
on 2006-01-02 09:29
(Received via mailing list)
Benjamin S. <removed_email_address@domain.invalid> 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 )))
Ezra Z. (Guest)
on 2006-01-02 09:44
(Received via mailing list)
On Jan 1, 2006, at 11:27 PM, Une bévue wrote:

> ~/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
unknown (Guest)
on 2006-01-02 12:15
(Received via mailing list)
Ezra Z. <removed_email_address@domain.invalid> wrote:

> you need to quote it because of the # char

fine, thanks, i got it ;-)
This topic is locked and can not be replied to.