[Gambas-bugtracker] Bug #2429: In Collection allow objects with property key to be the key in the collections
bugtracker at gambaswiki.org
bugtracker at gambaswiki.org
Mon Dec 27 16:39:23 CET 2021
http://gambaswiki.org/bugtracker/edit?object=BUG.2429&from=L21haW4-
Brian G reported a new bug.
Summary
-------
In Collection allow objects with property key to be the key in the collections
Type : Request
Priority : Medium
Gambas version : Unknown
Product : Unknown
Description
-----------
Would it be possible to expand the collection class to allow something other than text to be the keys used.
Perhaps objects the have a property _key or maybe even the object value either of these auto converted to a hash
Allowing collections to be more of a dictionary
such that
class myclass
$key as string = "dd" ' of course this could be generated
property read _key as string use $key
end class
c = myclass
d as collection = [c:[1,2,3], ..... it looks at the object _key to generate the hash
or
d as collection = [1:1, 2:2 ..... convert the integer to hash . It already seems to do it in the reference d[1]
or
d as collection = [[1,2]:"message", ...... use the values of the pair to generate the hash then ref d[[1,2]] or dim a as integer[] = [1,2] -> d[a]
Maybe I don't see if Gambas does this, but it would make very simple many collection uses that require a lot of extra code.
System information
------------------
[System]
Gambas=3.16.90 4dd2518bb (master)
OperatingSystem=Linux
Kernel=5.13.0-22-generic
Architecture=x86_64
Distribution=Linux Mint 20.2 Uma
Desktop=MATE
Font=Ubuntu,10
Scale=7
Theme=mint-y
Language=en_US.UTF-8
Memory=13939M
[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.6.0
DBus=libdbus-1.so.3.19.11
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2404.16
GStreamer=libgstreamer-1.0.so.0.1602.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2404.16
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.97.0.0
QT5=libQt5Core.so.5.12.8
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
CLUTTER_IM_MODULE=ibus
COMPIZ_CONFIG_PROFILE=mint
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=mate
DISPLAY=:0
EDITOR=/usr/bin/nano
GB_GUI=gb.gtk3
GDMSESSION=mate
GDM_LANG=en_US
GIO_LAUNCHED_DESKTOP_FILE_PID=1944271
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_IM_MODULE=ibus
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LIBVIRT_DEFAULT_URI=qemu:///system
LOGNAME=<user>
MATE_DESKTOP_SESSION_ID=this-is-deprecated
PATH=<home>/.local/bin:<home>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT4_IM_MODULE=ibus
QT_ACCESSIBILITY=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_IM_MODULE=ibus
QT_LOGGING_RULES=*.debug=false
QT_QPA_PLATFORMTHEME=qt5ct
QT_SCALE_FACTOR=1
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1857680,unix/<hostname>:/tmp/.ICE-unix/1857680
SHELL=/usr/bin/gsh
SHLVL=0
SSH_AGENT_PID=1857765
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TERM=xterm
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
XDG_CURRENT_DESKTOP=MATE
XDG_DATA_DIRS=/usr/share/mate:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=mate
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7
XMODIFIERS=@im=ibus
More information about the Bugtracker
mailing list