Transferring DownValues

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












I have a code in which I define something like this:



cc[1, 2] = 1;
cc[2, 6] = 12;
cc[3, 7] = 3;


After some manipulation I define a sort of temporary variable related to cc:



cctemp[1, 2] = 13;
cctemp[2, 6] = 8;
cctemp[3, 7] = 4;
cctemp[1, 9] = 87;


There are new and old indices.



Now in my code i wanna replace cc with cctemp.
I can do the trivial assignment and i can use a Do for the substitution but its not the best. How could I realize the assignment ?



(Ps maybe something like Activate @ Inactive ....)



Thank you










share|improve this question



















  • 2




    (1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
    – march
    1 hour ago














up vote
1
down vote

favorite












I have a code in which I define something like this:



cc[1, 2] = 1;
cc[2, 6] = 12;
cc[3, 7] = 3;


After some manipulation I define a sort of temporary variable related to cc:



cctemp[1, 2] = 13;
cctemp[2, 6] = 8;
cctemp[3, 7] = 4;
cctemp[1, 9] = 87;


There are new and old indices.



Now in my code i wanna replace cc with cctemp.
I can do the trivial assignment and i can use a Do for the substitution but its not the best. How could I realize the assignment ?



(Ps maybe something like Activate @ Inactive ....)



Thank you










share|improve this question



















  • 2




    (1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
    – march
    1 hour ago












up vote
1
down vote

favorite









up vote
1
down vote

favorite











I have a code in which I define something like this:



cc[1, 2] = 1;
cc[2, 6] = 12;
cc[3, 7] = 3;


After some manipulation I define a sort of temporary variable related to cc:



cctemp[1, 2] = 13;
cctemp[2, 6] = 8;
cctemp[3, 7] = 4;
cctemp[1, 9] = 87;


There are new and old indices.



Now in my code i wanna replace cc with cctemp.
I can do the trivial assignment and i can use a Do for the substitution but its not the best. How could I realize the assignment ?



(Ps maybe something like Activate @ Inactive ....)



Thank you










share|improve this question















I have a code in which I define something like this:



cc[1, 2] = 1;
cc[2, 6] = 12;
cc[3, 7] = 3;


After some manipulation I define a sort of temporary variable related to cc:



cctemp[1, 2] = 13;
cctemp[2, 6] = 8;
cctemp[3, 7] = 4;
cctemp[1, 9] = 87;


There are new and old indices.



Now in my code i wanna replace cc with cctemp.
I can do the trivial assignment and i can use a Do for the substitution but its not the best. How could I realize the assignment ?



(Ps maybe something like Activate @ Inactive ....)



Thank you







symbolic assignment built-in-symbols






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 35 mins ago









Carl Woll

61.1k280157




61.1k280157










asked 1 hour ago









siderius

365




365







  • 2




    (1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
    – march
    1 hour ago












  • 2




    (1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
    – march
    1 hour ago







2




2




(1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
– march
1 hour ago




(1) List is in the title, but it looks like you are assigning DownValues rather than making cc a list. Do you mean cc[[1, 2]] rather than cc[1, 2], etc.? (2) Why can't you just do cc[1, 2] = cctemp[1, 2] (or cc[[1,2]] = cctemp[[1, 2]]?
– march
1 hour ago










2 Answers
2






active

oldest

votes

















up vote
2
down vote



accepted










DownValues[cc] = DownValues[cctemp] /. cctemp -> cc;
cc[1, 9]



87




cc[1, 2]



13




If cc has some assignments that are not overridden by the assignments in cctemp you can use



DownValues[cc] = DeleteDuplicatesBy[
Join[DownValues[cctemp], DownValues[cc]] /. cctemp -> cc, #[[1,1]]&]





share|improve this answer





























    up vote
    3
    down vote













    You can make use of the undocumented Language`ExtendedDefinition function that underlies the Wolfram Cloud. Suppose:



    cctemp[1,2] = 13;
    cctemp[2,6] = 8;
    cctemp[3,7] = 4;
    cctemp[1,9] = 87;


    Then:



    Language`ExtendedDefiniition[cc] = Language`ExtendedDefinition[cctemp] /. cctemp -> cc;


    Finally:



    DownValues[cc]



    HoldPattern[cc[1, 2]] :> 13, HoldPattern[cc[1, 9]] :> 87,
    HoldPattern[cc[2, 6]] :> 8, HoldPattern[cc[3, 7]] :> 4







    share|improve this answer




















    • ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
      – siderius
      55 mins ago










    • @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
      – Carl Woll
      42 mins ago










    Your Answer




    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("mathjaxEditing", function ()
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    );
    );
    , "mathjax-editing");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "387"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f184046%2ftransferring-downvalues%23new-answer', 'question_page');

    );

    Post as a guest






























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote



    accepted










    DownValues[cc] = DownValues[cctemp] /. cctemp -> cc;
    cc[1, 9]



    87




    cc[1, 2]



    13




    If cc has some assignments that are not overridden by the assignments in cctemp you can use



    DownValues[cc] = DeleteDuplicatesBy[
    Join[DownValues[cctemp], DownValues[cc]] /. cctemp -> cc, #[[1,1]]&]





    share|improve this answer


























      up vote
      2
      down vote



      accepted










      DownValues[cc] = DownValues[cctemp] /. cctemp -> cc;
      cc[1, 9]



      87




      cc[1, 2]



      13




      If cc has some assignments that are not overridden by the assignments in cctemp you can use



      DownValues[cc] = DeleteDuplicatesBy[
      Join[DownValues[cctemp], DownValues[cc]] /. cctemp -> cc, #[[1,1]]&]





      share|improve this answer
























        up vote
        2
        down vote



        accepted







        up vote
        2
        down vote



        accepted






        DownValues[cc] = DownValues[cctemp] /. cctemp -> cc;
        cc[1, 9]



        87




        cc[1, 2]



        13




        If cc has some assignments that are not overridden by the assignments in cctemp you can use



        DownValues[cc] = DeleteDuplicatesBy[
        Join[DownValues[cctemp], DownValues[cc]] /. cctemp -> cc, #[[1,1]]&]





        share|improve this answer














        DownValues[cc] = DownValues[cctemp] /. cctemp -> cc;
        cc[1, 9]



        87




        cc[1, 2]



        13




        If cc has some assignments that are not overridden by the assignments in cctemp you can use



        DownValues[cc] = DeleteDuplicatesBy[
        Join[DownValues[cctemp], DownValues[cc]] /. cctemp -> cc, #[[1,1]]&]






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 38 mins ago

























        answered 1 hour ago









        kglr

        166k8188388




        166k8188388




















            up vote
            3
            down vote













            You can make use of the undocumented Language`ExtendedDefinition function that underlies the Wolfram Cloud. Suppose:



            cctemp[1,2] = 13;
            cctemp[2,6] = 8;
            cctemp[3,7] = 4;
            cctemp[1,9] = 87;


            Then:



            Language`ExtendedDefiniition[cc] = Language`ExtendedDefinition[cctemp] /. cctemp -> cc;


            Finally:



            DownValues[cc]



            HoldPattern[cc[1, 2]] :> 13, HoldPattern[cc[1, 9]] :> 87,
            HoldPattern[cc[2, 6]] :> 8, HoldPattern[cc[3, 7]] :> 4







            share|improve this answer




















            • ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
              – siderius
              55 mins ago










            • @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
              – Carl Woll
              42 mins ago














            up vote
            3
            down vote













            You can make use of the undocumented Language`ExtendedDefinition function that underlies the Wolfram Cloud. Suppose:



            cctemp[1,2] = 13;
            cctemp[2,6] = 8;
            cctemp[3,7] = 4;
            cctemp[1,9] = 87;


            Then:



            Language`ExtendedDefiniition[cc] = Language`ExtendedDefinition[cctemp] /. cctemp -> cc;


            Finally:



            DownValues[cc]



            HoldPattern[cc[1, 2]] :> 13, HoldPattern[cc[1, 9]] :> 87,
            HoldPattern[cc[2, 6]] :> 8, HoldPattern[cc[3, 7]] :> 4







            share|improve this answer




















            • ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
              – siderius
              55 mins ago










            • @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
              – Carl Woll
              42 mins ago












            up vote
            3
            down vote










            up vote
            3
            down vote









            You can make use of the undocumented Language`ExtendedDefinition function that underlies the Wolfram Cloud. Suppose:



            cctemp[1,2] = 13;
            cctemp[2,6] = 8;
            cctemp[3,7] = 4;
            cctemp[1,9] = 87;


            Then:



            Language`ExtendedDefiniition[cc] = Language`ExtendedDefinition[cctemp] /. cctemp -> cc;


            Finally:



            DownValues[cc]



            HoldPattern[cc[1, 2]] :> 13, HoldPattern[cc[1, 9]] :> 87,
            HoldPattern[cc[2, 6]] :> 8, HoldPattern[cc[3, 7]] :> 4







            share|improve this answer












            You can make use of the undocumented Language`ExtendedDefinition function that underlies the Wolfram Cloud. Suppose:



            cctemp[1,2] = 13;
            cctemp[2,6] = 8;
            cctemp[3,7] = 4;
            cctemp[1,9] = 87;


            Then:



            Language`ExtendedDefiniition[cc] = Language`ExtendedDefinition[cctemp] /. cctemp -> cc;


            Finally:



            DownValues[cc]



            HoldPattern[cc[1, 2]] :> 13, HoldPattern[cc[1, 9]] :> 87,
            HoldPattern[cc[2, 6]] :> 8, HoldPattern[cc[3, 7]] :> 4








            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 1 hour ago









            Carl Woll

            61.1k280157




            61.1k280157











            • ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
              – siderius
              55 mins ago










            • @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
              – Carl Woll
              42 mins ago
















            • ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
              – siderius
              55 mins ago










            • @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
              – Carl Woll
              42 mins ago















            ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
            – siderius
            55 mins ago




            ok thank you for the answer; just two things because i want to learn: 1) where can i find the package of this function 2) why should i prefer this way over the answer of kglr ?
            – siderius
            55 mins ago












            @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
            – Carl Woll
            42 mins ago




            @siderius There is no package, the function is built-in. Using Language`ExtendedDefinition transfers UpValues, DownValues, FormatValues, etc. If all you care about are DownValues, then using DownValues instead is better.
            – Carl Woll
            42 mins ago

















             

            draft saved


            draft discarded















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f184046%2ftransferring-downvalues%23new-answer', 'question_page');

            );

            Post as a guest













































































            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Christian Cage

            How to properly install USB display driver for Fresco Logic FL2000DX on Ubuntu?