Method: PyBind::PyList.new

Defined in:
lib/pybind/types/list.rb

.new(init = nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pybind/types/list.rb', line 10

def self.new(init = nil)
  case init
  when PyObjectStruct
    super
  when nil
    new(0)
  when Integer
    new(LibPython.PyList_New(init))
  when Array
    new.tap do |list|
      init.each do |item|
        list << item
      end
    end
  else
    raise TypeError, "the argument must be an Integer, a PyObjectStruct or a Array"
  end
end