From 99aea5cbaf4dd6d1b26c014a2f243589e4f9d082 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Thu, 17 Sep 2020 09:01:52 +0100 Subject: [PATCH] FluidMessageResponse: handle cases where we don't know the number of response elements in advance --- release-packaging/Classes/FluidMessageResponse.sc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release-packaging/Classes/FluidMessageResponse.sc b/release-packaging/Classes/FluidMessageResponse.sc index 60b97f7..7ea2317 100644 --- a/release-packaging/Classes/FluidMessageResponse.sc +++ b/release-packaging/Classes/FluidMessageResponse.sc @@ -23,7 +23,13 @@ FluidMessageResponse : Object ^[[a.copyRange(offset,split-1).keep(split).collectAs({|x|x.asInteger.asAscii},String)], split + 1] } + *strings {|a,offset| + //TODO add an n argument as with numbers() to make this less omnivorous + ^[a.drop(offset).drop(-1).collectAs({|x|x.asInteger.asAscii},String).split(0.asAscii)] + } + *numbers{ |a, n, offset| + n = n ? a.size - offset; //send n = nil to consume everything ^[a.copyRange(offset, offset + n),offset + n] }