Repository

V Dir

This module provides functionalities similar to Python's dir() function for Vlang.

Installation

Install the module using vpm:

v install robinvandernoord.dir

Usage

Importing the Module

import robinvandernoord.dir

dir.dir()

The primary method to inspect any object is dir.dir() . It returns a sorted list of all public methods and properties of the provided object. You can also use dir.properties() and dir.methods() to get respectively all properties and methods of an object.

dir.dir[T](object T) []string

Example

import robinvandernoord.dir
import time

struct Person {
    name string
    birth_year int
}

fn (p Person) age() int {
    current_year := time.now().year
    return current_year - p.birth_year
}

fn main() {
    person := Person{name: 'Alice', birth_year: 1993}

    // Get all public methods and properties of the person object
    dir_output := dir.dir(person) // []string

    println(dir_output) // ['age', 'birth_year', 'name']

    println(dir.properties(person)) // ['birth_year', 'name']
    println(dir.methods(person)) // ['age']
}

Contribution

Contributions via issues or pull requests are welcome.

License

This project is licensed under the MIT License.

About

Python's dir() for V

0
4
last Dec 15

Author

robinvandernoord