bug-apl
[Top][All Lists]
Advanced

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

Syntax error in function using structured name assignment


From: Hans-Peter Sorge
Subject: Syntax error in function using structured name assignment
Date: Wed, 16 Dec 2020 12:15:00 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

Hi,


just an experiment to see what can be done ...

Works like a charm - mostly :-)

⍝ ------------------- an arbitrary function.
      ∇example[⎕]
    ∇
[0]   Z←example name_struct
[1]   Z← name_struct
[2]   Z.N ← 'new'
[3]   ⎕EX 'Z.K'
    ∇

⍝ ----------------- some data
      A.B.C.D ← 14
      A.B.C.K ← 20

⍝ ---------------- content of a
      A
.B:
.B.C:
.B.C.D: 14

.B.C.K: 20

⍝ ----------------- experiment
      example A.B.C
1   ⍝ ⎕EX

⍝ returned by Z:
.D: 14

.N: ┌→──┐    ⍝ line [2]
    │new│
    └───┘

  
⍝ ----------------- even this can be done
      V ← example A.B.C
1 ⍝ ⎕EX

      V ≡ example A.B.C
1 ⍝ ⎕EX
1 ⍝ ≡


⍝ ---------------- here comes the bug:
      ∇example[⎕]∇
    ∇
[0]   Z←example name_struct
[1]   Z← name_struct
[2]   Z.N ←'new'
[3]   ⎕EX 'Z.K'
[4]   Z.K ← 'NEW'


⍝ added line [4]

     example A.B.C
1 ⍝ ⎕EX
SYNTAX ERROR
example[3]  Z.K←'NEW'
               ^

      Z.K←'NEW' ⍝ does it immediately after syntax error
      →3        ⍝ repeat from ⎕EX on
1 ⍝ ⎕EX

⍝ returned by Z:
.D: 14

.K: ┌→──┐
    │NEW│
    └───┘

.N: ┌→──┐
    │new│
    └───┘

Best Regards
Hans-Peter

reply via email to

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