code: func (l *State) RawLength(index int) int {
  	switch v := l.indexToValue(index).(type) {
  	case string:
  		return len(v)
  	// case *userData:
  	// 	return reflect.Sizeof(v.data)
  	case *table:
  		return v.length()
  	}
  	return 0
  }
docs: // RawLength returns the length of the value at index.  For strings, this is
  // the length.  For tables, this is the result of the # operator with no
  // metamethods.  For userdata, this is the size of the block of memory
  // allocated for the userdata (not implemented yet). For other values, it is 0.
  //
  // http://www.lua.org/manual/5.2/manual.html#lua_rawlen