Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Suggestions for autogenerating function names to wrap the same code?



On Tue, 2022-03-22 at 16:52 -0400, Steve Dondley wrote:
> So I have these two functions:
>
> function task() {
>     task_wrapper.pl $funcstack[1] "$@"
> }
>
> function tc() {
>     task_wrapper.pl $funcstack[1] "$@“
>
> }
>
> They are both wrappers for the same perl script which does its thing
> based on the value of $funcstack[1]; 
>
> Works, but I’m wondering if I can spare myself the job remembering to
> create a new function for each and every new perl function I want to
> write.
>
> I could write a little script to pull out the subroutine names from
> the perl script and dump them into a file sourced by zsh and then reload
> zsh.
>
> Wondering if there might be some cool feature of zsh I don’t know
> about to assist with creating these functions on-the-fly.

Recent versions of the shell allow you to copy functions from an old
name to a new name.  It's efficiently implemented internally.

% oldname() { print I am $0: }
% oldname
I am oldname
% functions -c oldname newname
% newname
I am newname

pws






Messages sorted by: Reverse Date, Date, Thread, Author