Groups | Search | Server Info | Login | Register


Groups > comp.lang.awk > #9985

Re: substr() - copying or not copying, that is here the question.

From gazelle@shell.xmission.com (Kenny McCormack)
Newsgroups comp.lang.awk
Subject Re: substr() - copying or not copying, that is here the question.
Date 2025-06-01 12:06 +0000
Organization The official candy of the new Millennium
Message-ID <101hfnk$2qrh$2@news.xmission.com> (permalink)
References <101f9oo$18edp$1@dont-email.me> <101fv4s$1g5c8$1@dont-email.me> <87h60zrbea.fsf@bsb.me.uk> <101hecq$22ab2$1@dont-email.me>

Show all headers | View raw


In article <101hecq$22ab2$1@dont-email.me>,
Janis Papanagnou  <janis_papanagnou+ng@hotmail.com> wrote:
...
>> An alternative (depending on the context) would be to consider an
>> extension that provides an index function with a third argument giving
>> the initial offset.  I've not looked at how extensions get access to
>> GAWK strings, so this many not be as easy as it sounds, but I would
>> guess that it might be relatively simple to do.
>
>This, first of all, sounds like a good idea! It would make it
>unnecessary to (mis-)use the substr() function as (sort of) a
>costly copying-descriptor.[*]
>
>I'm unsure about using an extension here. Would there be a name
>clash between an built-in index(haystack,needle) function and an
>extension index(haystack,needle,start) function? Should they be
>separate functions in the first place? (I don't think so.)

Nobody is talking about changing the index() built-in function.

This would be a brand new function, written as an extension library.

You could name it something like index_ex() if you like, or you could give
it a brand new name (**).

Although I have not done this with the extension functions I've already
written (and have widely deployed, so obviously, as the saying goes, it's
way too late to change it), if I had it to do over again, I'd probably have
enforced a convention that my functions always start with some identifying
prefix - to make it clear that these were written by me, not built-ins.  I
do that when writing in other scripting languages; I should have done so in
AWK.  Perhaps, the new namespaces feature would address this (*).

(*) I have not yet taken the time to fully acclimate to the concepts and
start using namespaces in my own code.  I'm still working on getting the
kinks and quirks out of PMA...

(**) My conception of how this would be implemented would handle the
"start"-only case (just add the offset to the "haystack" arg of strstr() -
with error checking to make sure it doesn't overflow, of course).
Implementing "end" would be a bit trickier (but not much).

-- 
Liberals live in a fantasy world where (street) criminals are good people.

Conservatives live in a fantasy world where businessmen are good people.

Back to comp.lang.awk | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-05-31 18:12 +0200
  Re: substr() - copying or not copying, that is here the question. mack@the-knife.org (Mack The Knife) - 2025-05-31 19:07 +0000
    Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-01 00:16 +0200
      Re: substr() - copying or not copying, that is here the question. Ben Bacarisse <ben@bsb.me.uk> - 2025-06-01 11:42 +0100
        Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-01 13:43 +0200
          Re: substr() - copying or not copying, that is here the question. gazelle@shell.xmission.com (Kenny McCormack) - 2025-06-01 12:06 +0000
            Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-01 15:27 +0200
        Re: substr() - copying or not copying, that is here the question. gazelle@shell.xmission.com (Kenny McCormack) - 2025-06-01 11:53 +0000
          Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-01 15:47 +0200
            Re: substr() - copying or not copying, that is here the question. gazelle@shell.xmission.com (Kenny McCormack) - 2025-06-01 14:17 +0000
              Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-08 00:01 +0200
      Re: substr() - copying or not copying, that is here the question. mack@the-knife.org (Mack The Knife) - 2025-06-03 06:56 +0000
        Re: substr() - copying or not copying, that is here the question. gazelle@shell.xmission.com (Kenny McCormack) - 2025-06-03 11:04 +0000
        Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-08 00:05 +0200
          Re: substr() - copying or not copying, that is here the question. mack@the-knife.org (Mack The Knife) - 2025-06-08 12:35 +0000
            Re: substr() - copying or not copying, that is here the question. Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-06-11 11:07 +0200
              Meta chat (Was: substr() - copying or not copying, that is here the question.) gazelle@shell.xmission.com (Kenny McCormack) - 2025-06-11 12:11 +0000
    Re: substr() - copying or not copying, that is here the question. Kaz Kylheku <643-408-1753@kylheku.com> - 2025-06-01 00:01 +0000

csiph-web