Sha256: 58bab2c13fb61d9e92b95a9801210787c919d3d779ff870e3f7ef046b7777d1c
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
# The change history of PyCall ## 1.0.0 * `#[]` and `#[]=` accept a `Range` and an `Enumerable`, which is genated by `Range#step`, as a slice. * Rewrite almost all fundamental parts of PyCall as C extension. * PyCall now calls `Py_DecRef` in the finalizer of `PyCall::PyPtr`. * Change the system of object mapping between Python and Ruby, drastically. Now PyCall does not have `PyObject` class for wrapper objects. Instead, PyCall generally makes `Object` instances and extends them by `PyObjectWrapper` module. But for Python module objects, PyCall makes anonymous `Module` instances that are extended by `PyObjectWrapper` module. Moreover for Python type objects, PyCall makes `Class` instances and extends them by `PyTypeObjectWrapper` module. * Change `PyCall.eval` to be a wrapper of `__builtins__.eval` in Python. This means that `filename:` and `input_type:` parameters are dropped. Instead, two new parameters `globals:` and `locals:` are introduced. `globals:` is used for specifying a dictionary that is the global namespace referred by the evaluated expression. `locals:` is used for specifying a mapping object that is the local namespace referred by the evaluated expression. * Add `PyCall.exec` for the replacement of the former `PyCall.eval` with `input_type: :file`. It has `globals:` and `locals:` parameters for the same meaning as the new `PyCall.eval` described above. * Drop `PyCall.wrap_ruby_callable` and `PyCall.wrap_ruby_object` always craetes a callable Python object taht has an ID of the given Ruby object.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pycall-1.0.0 | CHANGES.md |