bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gawk] On uninitialized variables


From: M
Subject: Re: [bug-gawk] On uninitialized variables
Date: Tue, 21 May 2019 17:13:54 +0300

Well, we've finally included --lint messages in our inner tests. Despite the 
annoying warnings that "something is a gawk extension", it provided for 
cleaning all the appearances of uninitialised variables in the scripts.

No uninitialised variable, no trouble with "untyped or unassigned". :-)

_______________

Yours respectfully,
Mark Krauze


14.05.2019, 15:35, "address@hidden" <address@hidden>:
> M <address@hidden> wrote:
>
>>  1. OK.
>>
>>  2. What does it mean "groups together"? They all have different types:
>>  "number", string" and "regexp" accordingly.
>
> My bad. (I'm too tired to be doing this...)
>
>>  _______________
>>
>>  Yours respectfully,
>>  Mark Krauze
>>
>>  14.05.2019, 14:26, "address@hidden" <address@hidden>:
>>  > M <address@hidden> wrote:
>>  >
>>  >>  After rereading the manual and having some tests, I finally found the 
>> answer to my first question. There's no trouble.
>>  >>  Two questions are still actual. I'll formulate them here.
>>  >>
>>  >>  1. According to the manual (9.1.7 Getting Type Information):
>>  >>
>>  >>  "unassigned - x is a scalar variable that has not been assigned a value 
>> yet."
>>  >>
>>  >>  "And in fact, due to the way gawk works,
>>  >>  if you pass the name of a variable that has not been previously used to 
>> isarray(),
>>  >>  gawk ends up turning it into a scalar."
>>  >>
>>  >>  But the result of "typeof" function after passing a variable to 
>> isarray() is:
>>  >>
>>  >>  $ gawk 'BEGIN { if (! isarray(x)) { print typeof(x) } }'
>>  >>  untyped
>>  >>
>>  >>  Not "unassigned". Why? Is it a bug?
>>  >
>>  > A bug in the manual. I will tend to it.
>>  >
>>  >>  2. The last sentence of the section "9.1.7 Getting Type Information" is:
>>  >>
>>  >>  "The typeof() function is general; it allows you to determine
>>  >>  if a variable or function parameter is a scalar, an array, or a 
>> strongly typed regexp."
>>  >>
>>  >>  A strongly typed regexp is a sort of scalar, isn't it?
>>  >
>>  > In the sense that it's not an array, yes.
>>  >
>>  >>  I don't understand why it is mentioned separately in this sentence.
>>  >
>>  > Because gawk groups 42 and "forty-two" together as scalars,
>>  > distinguished from @/42/.
>>  >
>>  > HTH,
>>  >
>>  > Arnold



reply via email to

[Prev in Thread] Current Thread [Next in Thread]