spatialmath-python icon indicating copy to clipboard operation
spatialmath-python copied to clipboard

Documentation outdated for `printline()`

Open btalb opened this issue 4 years ago • 3 comments

Commit 4251e7957e22f4596c95cfd1adadcd92e79ac4b8 seems to have added the strline() function for getting string representations as a replacement for printline(file=None).

Documentation for SE3 still suggests printline() will output a string when supplied with file=None:

printline

Documentation for the new strline() function also doesn't seem to have been built.

btalb avatar Oct 27 '21 22:10 btalb

Thanks for noticing that, the docs seem to be out of date on Github pages. I'll get those rebuilt with the next pip release

jhavl avatar Oct 27 '21 22:10 jhavl

I've changed this stuff a lot, used to be all done by printline. Are these the right primitives?

petercorke avatar Nov 02 '21 11:11 petercorke

I haven't noticed a strong convention in the Python community for "making print flexible enough to meet user needs". There's the extendable custom string formatting, but that looks like it may be a deep rabbit hole.

If it was me, my approach would be maximise flexibility for users by minimising work done here:

  1. Have a single function that provides all possible "thing to string" conversion functionality
  2. Make something like NumPy's set_printoptions() to support changing the default string representation globally / in contexts using with (optional)
  3. Drop all support for sending the strings to files, and let users handle that through more generic Python methods available

With the flexibility of maybe swapping out 1 with custom string formatting if you feel the need in the future.

btalb avatar Nov 11 '21 00:11 btalb