Source code for sasoptpy.abstract.statement.print

from .statement_base import Statement

import sasoptpy


[docs]class PrintStatement(Statement): def __init__(self, *args): super().__init__() for arg in args: self.elements.append(arg) self._print_type = 'print' self._print_names = False def append(self, arg): self.elements.append(arg) def set_print_type(self, print_type): self._print_type = print_type def allow_print_names(self): self._print_names = True def _defn(self): keyword = f'{self._print_type}' items = [] for i in self.elements: word = sasoptpy.to_expression(i) if self._print_names: word += '=' items.append(word) return keyword + ' ' + ' '.join(items) + ';' @classmethod def print_item(cls, *args): ps = PrintStatement(*args) return ps @classmethod def put_item(cls, *args, names=False): ps = PrintStatement(*args) ps.set_print_type('put') if names: ps.allow_print_names() return ps