Method: NumSeq#initialize

Defined in:
lib/num_seq.rb

#initialize(len, start_at = 0) ⇒ NumSeq

Returns a new instance of NumSeq.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/num_seq.rb', line 33

def initialize(len, start_at = 0)
	if len < 0 then 
		raise ArgumentError, 
			"Length of a num_seq must be positive"
	end

	@@strict = false
	@undef_value = nil

	if 0 == len then
		@undef_inf = @undef_sup = start_at
	else
		@undef_inf = start_at - 1
		@undef_sup = start_at + len	
	end
	

	@elems = SequenceArray.new(len, @undef_inf + 1)

	if block_given? then
		((@undef_inf+1)...@undef_sup).each_with_index do |n,i|
			@elems[n] = yield(n,i)
		end		
	end
end