It's perfect! Thank you!
17.08.2020, 20:17, "John Benediktsson" <mrj...@gmail.com>:
Hi Alex,I pushed a commit to master for ?change-at with two slight changes.1) I kept the ( key assoc quot -- ) stack effect that ?change-at has.2) I used ``at*`` so that it works with keys that have a value of ``f``. Your version uses ``of`` which is like ``at`` and doesn't distinguish values set to false with unset values.See what you think!Best,John.,,On Mon, Aug 17, 2020 at 4:29 PM John Benediktsson <mrj...@gmail.com> wrote:Ah, gotcha!
That could be cool. I’ll push a commit later for that!
> On Aug 17, 2020, at 9:22 AM, Jon Harper <jon.harpe...@gmail.com> wrote:
>
> I think Alex wanted the conditional execution of the quot.
> if the key doesn't exist in the assoc, change-at provides f as value,
> but still stores the newvalue in the assoc at the given key.
>
> Jon
>
>> On Mon, Aug 17, 2020 at 6:18 PM John Benediktsson <mrj...@gmail.com> wrote:
>>
>> https://docs.factorcode.org/content/word-change-at,assocs.html
>>
>> On Aug 17, 2020, at 8:31 AM, Alexander Ilin <ajs...@yandex.ru> wrote:
>>
>> Hello!
>>
>> I came up with this code, because I could not quickly find an existing word for this.
>> Did I miss it? If not, would it be a useful addition to the assocs vocab?
>>
>> ! If key exists in the assoc, change its value with quot.
>> : ?change-value ( assoc key quot: ( value -- value' ) -- assoc' )
>> [ swap pick set-at ] compose [ 2dup of ] dip [ drop ] if* ; inline
>>
>> ! Usage example:
>> : ?decode-opt ( assoc -- assoc' )
>> "opt" [ string>options ] ?change-value ;
>>
>>
>> ---=====---
>> Александр
>>
>>
>>
>> _______________________________________________
>> Factor-talk mailing list
>> Factor-talk@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
>> _______________________________________________
>> Factor-talk mailing list
>> Factor-talk@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk
---=====---
Александр
_______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk