On 6/7/22 17:55, Alex Tweedly via use-livecode wrote:
So you cannot put "constant k = 17" in an included file (outside of a
handler) and have it take effect anywhere except within the included
file !?!
Ah. I see I must be projecting my desired expansion of the "include"
command onto what I
On 6/7/22 10:55, Mark Waddingham via use-livecode wrote:
I don't buy the 'cognitively different' argument
Mark-
Thanks for the longish explanations there. I think we'll just have to
disagree on the cognitive thing then - I normally would expect functions
to return the result of some action,
{ Aside: any discussion where both Mark Weider and Mark Waddingham take
part is all the better because of that; two very knowledgeable people
with two very different viewpoints (in some areas) is a good thing. BUT
it makes it hard to refer to what each of them said - "MarkW" is still
On 2022-06-07 17:16, Mark Wieder via use-livecode wrote:
1. Because it's a function, not a constant.
put gkMyMagicValue() into tVar
is cognitively different from
put gkMyMagicValue into tVar
Something like 17 is a trivial case. Something more like real world
usage would be
constant
On 6/7/22 00:18, Mark Waddingham via use-livecode wrote:
How is that any better than putting something like this in a library or
back script:
function gkMyMagicValue
return 17
end gkMyMagicValue
Including the global declaration its the same number of lines (indeed
less,
I thought we already had global constants?? I think they are called,
"Literals." ;-)
Bob S
> On Jun 7, 2022, at 24:18 , Mark Waddingham via use-livecode
> wrote:
>
> On 2022-06-01 19:54, Alex Tweedly via use-livecode wrote:
>>> Also, you'll be able to do things like:
>>> constant kPiBy2
On 2022-06-01 19:54, Alex Tweedly via use-livecode wrote:
Also, you'll be able to do things like:
constant kPiBy2 = pi / 2
constant kPiBy2Squared = kPiBy2 * kPiBy2
constant kPiBy2String = format("%f", kPiBy2)
local sPiMap = { "pi-by-2": kPiBy2, "pi-by-2-sq": kPiBy2Squared }
On 01/06/2022 18:05, Mark Waddingham via use-livecode wrote:
Anyway, this rather odd and obscure facet of the language will
disappear in 10 as we've made it so that initializers for constants
and locals can be constant expressions. Thus:
constant kTrue = TRUE
local sEmptyString =
On 2022-06-01 17:44, Alex Tweedly via use-livecode wrote:
I was surprised to find that
constant K = TRUE
produces an error, though
constant K = true
is fine. In other contexts, you can say
put TRUE into myVar
put true into hisVar
etc.
but in a constant statement, it seems to
Not only that, but revOpenDatabase("sqlite", ":MEMORY:") will not work on
Windows, but DOES on Mac. revOpenDatabase("sqlite", ":memory:") works on both
platforms. Do you know why?? No you do not. No one knows, and will likely NEVER
know. LOL!
I suppose :memory: is a kind of system constant?!?
I was surprised to find that
constant K = TRUE
produces an error, though
constant K = true
is fine. In other contexts, you can say
put TRUE into myVar
put true into hisVar
etc.
but in a constant statement, it seems to be case sensitive.
Anyone got an interesting story (or
11 matches
Mail list logo