ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
ÿØÿà JFIF ÿÛ „
(
%!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ
ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ
ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ
? ¼QxJQaÍuò¸Zö
Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
????????????????????????????????????
????????????????????????????????????
ÿØÿà JFIF ÿÛ „ ( %!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
ÿØÿà JFIF ÿÛ „
(
%!1!%)+//.383,7(-.+
-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ ¥2" ÿÄ
ÿÄ J ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ
ÿÄ * !1AQa‘"2q3±ð#b¡ÿÚ
? ¼QxJQaÍuò¸Zö
Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁTÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßwpŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
?>
.........................................
.............................................................................
????????????????????????????????????
????????????????????????????????????
U:RDoc::TopLevel[ i I"syntax/miscellaneous.rdoc:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[NS:RDoc::Markup::Heading:
leveli: textI"Miscellaneous Syntax;To:RDoc::Markup::BlankLine S; ;
i;I"Ending an Expression;T@
o:RDoc::Markup::Paragraph;[I"RRuby uses a newline as the end of an expression. When ending a line with an ;TI"Joperator, open parentheses, comma, etc. the expression will continue.;T@
o;
;[I"RYou can end an expression with a ; (semicolon). Semicolons are ;TI"4most frequently used with ruby -e.;T@
S; ;
i;I"Indentation;T@
o;
;[I"SRuby does not require any indentation. Typically, ruby programs are indented ;TI"two spaces.;T@
o;
;[I"QIf you run ruby with warnings enabled and have an indentation mismatch, you ;TI"will receive a warning.;T@
S; ;
i;I"+alias+;T@
o;
;[I"TThe +alias+ keyword is most frequently used to alias methods. When aliasing a ;TI"5method, you can use either its name or a symbol:;T@
o:RDoc::Markup::Verbatim;[I"alias new_name old_name
;TI"alias :new_name :old_name
;T:@format0o;
;[I"KFor methods, Module#alias_method can often be used instead of +alias+.;T@
o;
;[I"8You can also use +alias+ to alias global variables:;T@
o;;[
I"$old = 0
;TI"
;TI"alias $new $old
;TI"
;TI"p $new # prints 0
;T;0o;
;[I"&You may use +alias+ in any scope.;T@
S; ;
i;I"+undef+;T@
o;
;[I"TThe +undef+ keyword prevents the current class from responding to calls to the ;TI"named methods.;T@
o;;[I"undef my_method
;T;0o;
;[I"1You may use symbols instead of method names:;T@
o;;[I"undef :my_method
;T;0o;
;[I"$You may undef multiple methods:;T@
o;;[I"undef method1, method2
;T;0o;
;[I"DYou may use +undef+ in any scope. See also Module#undef_method;T@
S; ;
i;I"+defined?+;T@
o;
;[I"K+defined?+ is a keyword that returns a string describing its argument:;T@
o;;[I"1p defined?(UNDEFINED_CONSTANT) # prints nil
;TI"8p defined?(RUBY_VERSION) # prints "constant"
;TI"6p defined?(1 + 1) # prints "method"
;T;0o;
;[I"UYou don't need to use parenthesis with +defined?+, but they are recommended due ;TI"Lto the {low precedence}[rdoc-ref:syntax/precedence.rdoc] of +defined?+.;T@
o;
;[I"SFor example, if you wish to check if an instance variable exists and that the ;TI"instance variable is zero:;T@
o;;[I"=defined? @instance_variable && @instance_variable.zero?
;T;0o;
;[I"OThis returns "expression", which is not what you want if the ;TI"&instance variable is not defined.;T@
o;;[I"@instance_variable = 1
;TI">defined?(@instance_variable) && @instance_variable.zero?
;T;0o;
;[I"OAdding parentheses when checking if the instance variable is defined is a ;TI"Sbetter check. This correctly returns +nil+ when the instance variable is not ;TI"@defined and +false+ when the instance variable is not zero.;T@
o;
;[I"RUsing the specific reflection methods such as instance_variable_defined? for ;TI"Qinstance variables or const_defined? for constants is less error prone than ;TI"using +defined?+.;T@
o;
;[I"P+defined?+ handles some regexp global variables specially based on whether ;TI"Kthere is an active regexp match and how many capture groups there are:;T@
o;;[I"/b/ =~ 'a'
;TI")defined?($~) # => "global-variable"
;TI"defined?($&) # => nil
;TI"defined?($`) # => nil
;TI"defined?($') # => nil
;TI"defined?($+) # => nil
;TI"defined?($1) # => nil
;TI"defined?($2) # => nil
;TI"
;TI"/./ =~ 'a'
;TI")defined?($~) # => "global-variable"
;TI")defined?($&) # => "global-variable"
;TI")defined?($`) # => "global-variable"
;TI")defined?($') # => "global-variable"
;TI"defined?($+) # => nil
;TI"defined?($1) # => nil
;TI"defined?($2) # => nil
;TI"
;TI"/(.)/ =~ 'a'
;TI")defined?($~) # => "global-variable"
;TI")defined?($&) # => "global-variable"
;TI")defined?($`) # => "global-variable"
;TI")defined?($') # => "global-variable"
;TI")defined?($+) # => "global-variable"
;TI")defined?($1) # => "global-variable"
;TI"defined?($2) # => nil
;T;0S; ;
i;I"+BEGIN+ and +END+;T@
o;
;[I"T+BEGIN+ defines a block that is run before any other code in the current file. ;TI"TIt is typically used in one-liners with ruby -e. Similarly +END+ ;TI"6defines a block that is run after any other code.;T@
o;
;[I"U+BEGIN+ must appear at top-level and +END+ will issue a warning when you use it ;TI"inside a method.;T@
o;
;[I"Here is an example:;T@
o;;[I"
BEGIN {
;TI" count = 0
;TI"}
;T;0o;
;[I"SYou must use { and } you may not use +do+ and +end+.;T@
o;
;[I"UHere is an example one-liner that adds numbers from standard input or any files ;TI"in the argument list:;T@
o;;[I"Kruby -ne 'BEGIN { count = 0 }; END { puts count }; count += gets.to_i';T;0:
@file@:0@omit_headings_from_table_of_contents_below0