Retrieve a value from the closest scope frame.

def get(self, name, defval=None):
        '''
        Retrieve a value from the closest scope frame.
        '''
        for frame in reversed(self.frames):
            valu = frame.get(name, s_common.novalu)
            if valu != s_common.novalu:
                return valu

        task = self.ctors.get(name)
        if task is not None:
            func, args, kwargs = task
            item = func(*args, **kwargs)
            self.frames[-1][name] = item
            return item

        return defval