From 86c37a00dd9ec82c261e3c9f7997051aabaa228b Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Fri, 14 Jul 2023 16:36:10 +0100 Subject: constructors & class methods! "class methods" are not actually a thing, we declare a function for each class, that invokes on the class name and object-id=0 (object-id start from 1 for real objects) --- bos-object-id.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'bos-object-id.sh') diff --git a/bos-object-id.sh b/bos-object-id.sh index 2026506..ac7a7c8 100644 --- a/bos-object-id.sh +++ b/bos-object-id.sh @@ -7,17 +7,17 @@ # id, so that `$my_obj the-method 1 2` is equivalent to `bos_invoke # TheClass $the_obj_id the-method 1 2` function bos-object-id/pack-self-into() { - local class="$1" - local self_id="$2" - local -n result="$3" - result="bos-dispatch/invoke $class $self_id" + local bos_object_id_class="$1" + local bos_object_id_self_id="$2" + local -n bos_object_id_result="$3" + bos_object_id_result="bos-dispatch/invoke $bos_object_id_class $bos_object_id_self_id" } # get class and object id from a $self string function bos-object/unpack-self-into() { - local self="$1" - local -n class="$2" - local -n id="$2" + local bos_object_id_self="$1" + local -n bos_object_id_class="$2" + local -n bos_object_id_self_id="$3" local _ - read -r _ class id <<<"$self" + read -r _ bos_object_id_class bos_object_id_self_id <<<"$bos_object_id_self" } -- cgit v1.2.3