Hello,

My struggles with regexp is going and I have another problem. I read 
closely syntax page of RE2 (https://github.com/google/re2/wiki/Syntax) and 
I still not sure if I understand one example from regexp package.

In example in method func (*Regexp) FindIndex 
(https://pkg.go.dev/regexp@go1.17#Regexp.FindIndex) we have line

pattern := regexp.MustCompile(`(?m)(?P<key>\w+):\s+(?P<value>\w+)$`)

Does (?m) set value of flag m to true and if I want set it to false I 
should write (?-m) or not? By default m should be false, but as example it 
is fine.

As a side note, this regular expression is used in other examples, when we 
need <key> and <value>, but looks unnecessary complex for method FindIndex. 
I guess
`(?m)\w+:\s+\w+$`
would work fine. Am I wrong?

Best
Kamil

środa, 1 września 2021 o 12:29:58 UTC+2 Kamil Ziemian napisał(a):

> Kurtis Rader, peterGo thank you for the answers. I probably need to learn 
> more about RPC protocols, for now I can only expand acronym. But this point 
> with ignoring leading zeros is clear enough. And probalby more "elementary 
> (and stupid)?" questions is comming.
>
> Kamil
> poniedziałek, 30 sierpnia 2021 o 03:02:51 UTC+2 peterGo napisał(a):
>
>>
>>
>> K,
>>
>> For a finite, unsigned binary number, ignoring leading zeros, how many 
>> binary digits (the length in bits) are needed to represent a number?
>>
>> Peter
>> On Sunday, August 29, 2021 at 4:07:41 PM UTC-4 kziem...@gmail.com wrote:
>>
>>> Thank for explanation, but I don't understand "But how many bits do you 
>>> need to represent 0? The question is malformed as there are no set bits in 
>>> the used representation of 0.". Why this is malformed questions? When I 
>>> think of coding 1, I think about thaking one bit with 1 inside and when it 
>>> goes to 0, I would take one bit with 0 inside.
>>>
>>> K.
>>> piątek, 27 sierpnia 2021 o 07:14:45 UTC+2 Volker Dobler napisał(a):
>>>
>>>> On Thursday, 26 August 2021 at 22:17:55 UTC+2 kziem...@gmail.com wrote:
>>>>
>>>>> Another topic. I needed to check package "math/bits" (learning about 
>>>>> Go can lead us in such places quite fast) and I'm confused about function 
>>>>> "Len(x uint) int". In its description we have (
>>>>> https://pkg.go.dev/math/bi...@go1.17 
>>>>> <https://pkg.go.dev/math/bits@go1.17>)
>>>>> BEGINNING
>>>>> Len returns the minimum number of bits required to represent x; the 
>>>>> result is 0 for x == 0.
>>>>> END
>>>>> I have no problem with using function that says 0 can be encoded in 0 
>>>>> bits, but it is still odd. Maybe it is connected to something done under 
>>>>> the hood, about which I don't know a thing? Does anyone know why this 
>>>>> choose was made?
>>>>
>>>>  
>>>> No, the description doesn't say that 0 can be encoded in 0 bits:
>>>> It says that Len(0) returns 0.
>>>> If you want Len to be a total function you must return a value for 
>>>> every input.
>>>> For most inputs the value is strictly determined by what the functions 
>>>> does
>>>> (number of bits needed to represent), so Len(9) == 3. But how many bits
>>>> do you need to represent 0? The question is malformed as there are no 
>>>> set bits in the used representation of 0. One could have declared
>>>>     "Len(0) returns -42"
>>>> but this makes no sense at all. Having Len(0)==0 results in
>>>> Len(a) <= Len(b) if a < b without having to invent totally arbitrary
>>>> values for Len(0).
>>>>
>>>> You probably should not overinterpret Go's documentation.
>>>> This is not lyric. "the result is 0 for x == 0" has no hidden meaning.
>>>>
>>>> V.
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/7ae1e154-76f8-4677-a6d3-53e010692a3an%40googlegroups.com.

Reply via email to