रेंडरिंगhi

वर्ग

Translation status: हिन्दी reader-locale proof. Term names and code fences follow the hi pack; supporting prose may still be English.

Declares a concrete type with fields and methods.

Aliases: class, struct

Syntax: वर्ग <name> [<type-params>] <block>

Category#

type

Examples#

radix/corpus/genus/genus.fab (canonical · keyword)#

Declares a concrete type with fields and methods.

# =============================================================================
# वर्ग — Declares a concrete type with fields and methods
# =============================================================================
#
# What this teaches:
#   • Declares a concrete type with fields and methods.
#   • Related keywords: अनुबन्ध, लागूकरता
#
# Common mistakes:
#   • Using retired bare object literals (`{ key = expr }`) — use `GenusName { field = expr }` instead; bare `{ }` is now a JSON मान literal.
#
# See also: अनुबन्ध, लागूकरता
# =============================================================================

# Basic वर्ग (record type) with fields
#
# वर्ग <Name> {
#     <type> <property>
#     <type> <property> = <default>
# }
#
# GRAMMAR:
#   genusDecl :← 'वर्ग' ident '{' fieldDecl* '}'
#   instance  :← ident '{' fieldInit (',' fieldInit)* '}'
#
# EXPECTED OUTPUT:
#   Field values for Punctum and Persona instances (defaults and overrides).

class Punctum {
    var int x
    var int y
}

class Persona {
    var string नाम
    # default when omitted at instantiation
    var int aetas = 0
    var bool activus = true
}

main {
    # Instantiate with all required fields
    const Punctum p ← Punctum { x = 10, y = 20 }
    print p.x
    print p.y

    # Instantiate with required + optional defaults
    const Persona marcus ← Persona { नाम = "Marcus" }
    print marcus.nomen
    # 0 from default
    print marcus.aetas
    # सत्य from default
    print marcus.activus

    # Override defaults explicitly
    const Persona julia ← Persona { नाम = "Julia", aetas = 25, activus = false }
    print julia.nomen
    print julia.aetas
    print julia.activus
}

Expected output:

10
20
Marcus
0
verum
Julia
25
falsum