GithubHelp home page GithubHelp logo

Comments (7)

stevedonovan avatar stevedonovan commented on May 26, 2024

Yes, I was wondering about the exact behavior of the Python function, since stringx is so obviously a clone ;) The reference I found merely said that it turns tabs into spaces. The meaning you propose is certainly useful; perhaps an extra boolean argument to allow this to happen, and keeping the dumb functionality as the default?

from penlight.

mjwhite avatar mjwhite commented on May 26, 2024

Thanks for replying - yup, the Python docstring I checked is a bit unclear (the current manual is better). But anyway, this is how it behaves when you call it...

Adding a flag does avoid breaking old code; OTOH it also adds complexity (in particular, expandtabs(self,n,mode) means anytime you specify mode you also have to specify n, even though the n=8 default is probably the most common case). And all other things being equal, I suspect expand-up-to-tabstop is the more useful default in principle.

BTW, thank you for your work on penlight: it's an extremely convenient (and well-organised and well-documented) set of tools. :-)

from penlight.

stevedonovan avatar stevedonovan commented on May 26, 2024

Thanks for your kind words! I am busy reorganizing things so that there are less inter-module dependencies. For instance, pl.data now only depends on pl.utils, and that dependency is only because the original design was that the rows would have the List metatable. (Actual loading of pl.List is done on a lazy on-demand basis). Generally things become clearer once I stopped trying to write Python ;)

Any other things which you would like to see in the library? Currently I'm contemplating adding pl.date for general data and time manipulation and parsing.

from penlight.

mjwhite avatar mjwhite commented on May 26, 2024

A date-time library sounds good.

What else? Hmm, JSON has made it into the Python standard library recently, which I think is a good thing - it's a widespread portable serial data format. Several languages include a basic general-purpose logging facility in their standard libraries, too, which might be useful here (especially if it fitted comfortably with lapp). Both of those would be natural enough in pure lua.

from penlight.

mjwhite avatar mjwhite commented on May 26, 2024

Gah, I apparently clicked the "Comment and close" button by mistake - not intentional, but I don't think I can re-open the issue myself... :-/

from penlight.

stevedonovan avatar stevedonovan commented on May 26, 2024

Well, I shall mentally consider it still open (I don't see any way to re-open it here either)

As for JSON and logging, there's already a few Lua libraries that do that - JSON feels a little specialized for a general-purpose library.

As for date-time, I'm looking for a good model; I already know that the Java Date class is not that model ;)

from penlight.

mjwhite avatar mjwhite commented on May 26, 2024

Apparently there's a drop-down menu for project owners etc...

I guess it'd be nice for any new date-time stuff to interact reasonably cleanly with Lua's small set of existing built-in functions for this (os.date etc).

from penlight.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.