D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Data
/
Filename :
deconstruct-i.ri
back
Copy
U:RDoc::AnyMethod[iI"deconstruct:ETI"Data#deconstruct;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"JReturns the values in +self+ as an array, to use in pattern matching:;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"+Measure = Data.define(:amount, :unit) ;TI" ;TI""distance = Measure[10, 'km'] ;TI")distance.deconstruct #=> [10, "km"] ;TI" ;TI" # usage ;TI"case distance ;TI"0in n, 'km' # calls #deconstruct underneath ;TI") puts "It is #{n} kilometers away" ;TI" else ;TI"* puts "Don't know how to handle it" ;TI" end ;TI")# prints "It is 10 kilometers away" ;T:@format0o; ; [I"&Or, with checking the class, too:;T@o;; [ I"case distance ;TI"in Measure(n, 'km') ;TI") puts "It is #{n} kilometers away" ;TI"# ... ;TI"end;T; 0: @fileI" struct.c;T:0@omit_headings_from_table_of_contents_below0I"deconstruct -> array ;T0[ I"();T@(FI" Data;TcRDoc::NormalClass00