octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #54490] Order of evaluation in assignment expr


From: anonymous
Subject: [Octave-bug-tracker] [bug #54490] Order of evaluation in assignment expression
Date: Sat, 11 Aug 2018 00:44:29 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:51.0) Gecko/20100101 Firefox/51.0

URL:
  <http://savannah.gnu.org/bugs/?54490>

                 Summary: Order of evaluation in assignment expression
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Sat 11 Aug 2018 04:44:28 AM UTC
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Incorrect Result
                  Status: None
             Assigned to: None
         Originator Name: rahnema1
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.4.0
        Operating System: GNU/Linux

    _______________________________________________________

Details:

The expected behavior of the simple and multiple assignment should be the same
but the following example shows they have different behavior:


disp("Testing simple assignment:")
clear;
 a(k=1)  = (k=2);
k
# result : k = 1


disp("Testing multiple assignment:")
clear
[a(k=1)] = (k=2);
k
# result : k = 2


The example shows that order of evaluation in simple assignment is from right
to left but in multiple assignment it is from left to right.

Other example that can be tested in MATLAB shows that similar expressions
produce different results:


clear 

function out=test
        global k;
        k = 1;
        out = 3;
end

global k;

disp("Testing simple assignment:")
k = 2;
a = [5 6];
a(k) = test();
a
# result : a = [3 6]


disp("Testing multiple assignment:")

k = 2;
a = [5 6];
[a(k)] = test();
a
# result : a = [5 3]





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?54490>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]