Class: PyBind::PyList
- Includes:
- PyObjectWrapper, PySequence
- Defined in:
- lib/pybind/types/list.rb
Constant Summary
Constants included from Operator
Operator::BINARY_OPERATION_OPFUNCS, Operator::UNARY_OPERATION_OPFUNCS
Constants included from RichComparer
RichComparer::Py_EQ, RichComparer::Py_GE, RichComparer::Py_GT, RichComparer::Py_LE, RichComparer::Py_LT, RichComparer::Py_NE, RichComparer::RICH_COMPARISON_OPCODES
Class Method Summary collapse
Instance Method Summary collapse
Methods included from PySequence
Methods included from PyObjectWrapper
#autocall_method_missing, #call, included, #initialize, #inspect, #methods, #python_type, #to_python_struct, #to_s
Methods included from Operator
#!, #**, #<=>, #===, #__binary_operate__, #__unary_operate__
Methods included from RichComparer
Methods included from AttrAccessor
#[], #[]=, #get_attribute, #has_attribute?, #remove_attribute, #set_attribute
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class PyBind::PyObjectWrapper
Class Method Details
.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 |
Instance Method Details
#<<(value) ⇒ Object
29 30 31 32 33 |
# File 'lib/pybind/types/list.rb', line 29 def <<(value) value = value.to_python LibPython.PyList_Append(@pystruct, value) self end |
#size ⇒ Object
35 36 37 |
# File 'lib/pybind/types/list.rb', line 35 def size LibPython.PyList_Size(@pystruct) end |