[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A bug in containers.Map
From: |
Kai Torben Ohlhus |
Subject: |
Re: A bug in containers.Map |
Date: |
Fri, 19 Jun 2020 11:35:04 +0900 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
On 6/19/20 4:46 AM, Nicholas Jankowski wrote:
> containers.Map(['foo';'bar';'baz'], [1,2])
>
> * In octave it creates the map with one key (the first row "foo").
> This key has a value of [1,2]. if you tried to access the map
> with a key that equals another row ("bar" or "baz"), it will
> raise an error that there is no such key.
> * In MATLAB online (I don't have access to the PC version), it
> raises an error that the number of keys and values is not the same.
>
>
> trying it out in Matlab 2020a:
>
> >> containers.Map(['foo';'bar';'baz'], [1,2])
> Error using containers.Map
> The number of keys and values must be the same.
>
>
> generally, it's not an error for Octave to do things that Matlab
> doesn't. I don't know enough about this function to know what it should
> do and if allowing creation of the map _should_ be an error. But if that
> is problematic, it could be a bug worth reporting.
Abdallah, thanks for the observation. I opened a bug report about it
[1]. It should not be too difficult to fix it. Do you want to give it
a try (short project)?
In this case I would expect the key to be a 3x3 char array (which is not
compatible with Matlab), which gets silently truncated to a 1x3 array
without warning. At least this should be fixed.
Kai
[1] https://savannah.gnu.org/bugs/index.php?58617