public function del($key, $separator = '.')
    {
        $key = explode($separator, $key);
        $lst = array_pop($key);
        $tmp = &$this->data;
        foreach ($key as $k) {
            if (!isset($tmp[$k])) {
                return null;
            }
            $tmp = &$tmp[$k];
        }
        if (!isset($tmp[$lst])) {
            return null;
        }
        $val = $tmp[$lst];
        unset($tmp[$lst]);
        return $val;
    }