class_docstr: A printer to convert SymPy expressions to strings of R code
class_docstr_tok: ["A","printer","to","convert","SymPy","expressions","to","strings","of","R","code"]
code: def _print_Assignment(self, expr):
      from sympy.codegen.ast import Assignment
  
      from sympy.matrices.expressions.matexpr import MatrixSymbol
      from sympy.tensor.indexed import IndexedBase
  
      lhs = expr.lhs
      rhs = expr.rhs
      # We special case assignments that take multiple lines
      # if isinstance(expr.rhs, Piecewise):
      #    from sympy.functions.elementary.piecewise import Piecewise
      #    # Here we modify Piecewise so each expression is now
      #    # an Assignment, and then continue on the print.
      #    expressions = []
      #    conditions = []
      #    for (e, c) in rhs.args:
      #        expressions.append(Assignment(lhs, e))
      #        conditions.append(c)
      #    temp = Piecewise(*zip(expressions, conditions))
      #    return self._print(temp)
      # elif isinstance(lhs, MatrixSymbol):
      if isinstance(lhs, MatrixSymbol):
          # Here we form an Assignment for each element in the array,
          # printing each one.
          lines = []
          for i, j in self._traverse_matrix_indices(lhs):
              temp = Assignment(lhs[i, j], rhs[i, j])
              code0 = self._print(temp)
              lines.append(code0)
          return "\n".join(lines)
      elif self._settings["contract"] and (
          lhs.has(IndexedBase) or rhs.has(IndexedBase)
      ):
          # Here we check if there is looping to be done, and if so
          # print the required loops.
          return self._doprint_loops(rhs, lhs)
      else:
          lhs_code = self._print(lhs)
          rhs_code = self._print(rhs)
          return self._get_statement("%s = %s" % (lhs_code, rhs_code))
  
imports: from __future__ import annotations
  from typing import Any
  from sympy.core.numbers import equal_valued
  from sympy.printing.codeprinter import CodePrinter
  from sympy.printing.precedence import precedence, PRECEDENCE
  from sympy.sets.fancysets import Range
label_desc: Use image node_id 17 for calling the RCodePrinter obj's underlying member method code with example usage: obj._print_Assignment(expr) and returns: str, self, self