Class: LittleElementor::Orbital
- Inherits:
-
Object
- Object
- LittleElementor::Orbital
- Defined in:
- lib/little-elementor/orbital.rb
Instance Attribute Summary collapse
-
#electrons_count ⇒ Object
readonly
Returns the value of attribute electrons_count.
-
#l ⇒ Object
readonly
Returns the value of attribute l.
-
#n ⇒ Object
readonly
Returns the value of attribute n.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(n, l, electrons_count) ⇒ Orbital
constructor
A new instance of Orbital.
- #to_s ⇒ Object
Constructor Details
#initialize(n, l, electrons_count) ⇒ Orbital
Returns a new instance of Orbital.
8 9 10 11 12 |
# File 'lib/little-elementor/orbital.rb', line 8 def initialize(n, l, electrons_count) @n = n @l = l @electrons_count = electrons_count end |
Instance Attribute Details
#electrons_count ⇒ Object (readonly)
Returns the value of attribute electrons_count.
7 8 9 |
# File 'lib/little-elementor/orbital.rb', line 7 def electrons_count @electrons_count end |
#l ⇒ Object (readonly)
Returns the value of attribute l.
7 8 9 |
# File 'lib/little-elementor/orbital.rb', line 7 def l @l end |
#n ⇒ Object (readonly)
Returns the value of attribute n.
7 8 9 |
# File 'lib/little-elementor/orbital.rb', line 7 def n @n end |
Class Method Details
.gen_orbitals ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/little-elementor/orbital.rb', line 18 def self.gen_orbitals i = 0 n = 1 al_lay = [] while n < 9 break if n > 7 l = 0 while l < n max = l*4 + 2 break if n > 7 or l >= n al_lay << Orbital.new(n, l, max) i += max l+=1 end n+=1 end al_lay.sort_by{|o| [o.n + o.l, o.n]} end |