Code: Select all
a:={}
a["b","c","d","e"]:=3
MsgBox % a.b.c.d.e
Code: Select all
a:={}
a["b","c","d","e"]:=3
MsgBox % a.b.c.d.e
Code: Select all
#Requires AutoHotkey v2.0
a := {}
a.b := {}
a.b.c := {}
a.b.c.d := {}
a.b.c.d.e := 3
MsgBox a.b.c.d.e
cgx5871 wrote: ↑08 May 2023, 09:57v1 code:v2 how to create this?Code: Select all
a:={} a["b","c","d","e"]:=3 MsgBox % a.b.c.d.e
Code: Select all
ObjectDefaultCreate()
ObjectDefaultCreate() => Object.Prototype.DefineProp('__Get', {Call: (this, Name, Params) => this.%Name% := {}})
a:={}
a.b.c.d.e := 3
Msgbox a.b.c.d.e
Code: Select all
a := MapN()
a["b", "c", "d", "e"] := 3
MsgBox a["b", "c", "d", "e"]
; Helgef: An "n-dimensional" map.
class MapN extends map {
static __new()
=> this.prototype.class := this
__item[k1, p*] {
get => p.length ? super[k1][p*] : super[k1]
set {
if p.length && (!super.has(k1) || !(super[k1] is this.class))
super[k1] := (this.class)()
( p.length ) ? super[k1][p*] := value : super[k1] := value
}
}
}
Users browsing this forum: arout and 79 guests