Forum: Ruby nubie question

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.
Mac Pat (Guest)
on 2007-07-30 02:05
(Received via mailing list)
I am trying to learn Ruby and I have read the picax book at least twice
and
seems to understand most of what is said in the book. Now I am reading
through some of the code written that I down loaded. I saw some code
that I
wanted someone to explain to me.


module HL7 # :nodoc:
  VERSION = "0.1.%s" % "$Rev: 23 $".gsub(/\$Rev:\s+/, '').gsub(/\s*\$$/,
'')
end

# Encapsulate HL7 specific exceptions
class HL7::Exception < StandardError
end

# Parsing failed
class HL7::ParseError < HL7::Exception
end



Explain to me how to use the "::" operator. It seems the author is
defining
a Class called HL7::Exception? The syntax for class definition is Class
Name.



Thanksl
Felix W. (Guest)
on 2007-07-30 03:09
(Received via mailing list)
> explain to me.
> # Parsing failed
>
> Thanksl


Check out the Pickaxe chapter on modules.

HTH,

Felix
Bertram S. (Guest)
on 2007-07-30 03:40
(Received via mailing list)
Hi,

Am Montag, 30. Jul 2007, 07:04:57 +0900 schrieb Mac Pat:
> module HL7 # :nodoc:
>   VERSION = "0.1.%s" % "$Rev: 23 $".gsub(/\$Rev:\s+/, '').gsub(/\s*\$$/, '')
> end

I think smarter would be one of

  V = "0.1." + "$Rev: 23 $"[/\$Rev:\s*(\d+)\s*\$/, 1]
  V = "0.1.%d" % "$Rev: 23 $"[/\d+/]
  V = [0,1,"$Rev: 23 $"[/\d+/]].join "."

To get it readable to some slight extent one should split it
up into at least two lines.

  tiny = "$Rev: 23 $"[/\d+/]
  ...

> # Encapsulate HL7 specific exceptions
> class HL7::Exception < StandardError
> end

  module HL7 ; class Exception < ::StandardError ; end ; end

Bertram
This topic is locked and can not be replied to.