रेंडरिंगhi

से

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

Introduces borrowed iteration or borrowed parameters.

Syntax: से <expression>

Category#

iteration

Examples#

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

Introduces borrowed iteration or borrowed parameters.

# =============================================================================
# से — Introduces borrowed iteration or borrowed parameters.
# =============================================================================
#
# What this teaches:
#   • Borrowed iteration — `दोहराओ से <expr> स्थिर <ident> { ... }` iterates over a collection without taking ownership.
#   • Tabula key iteration — iterating over तालिका keys via borrowed iteration.
#   • Index iteration — iterating over सूची indices via `से`.
#
# Common mistakes:
#   • Passing a `से` parameter to an `में` or `सेवन` position — mode mismatch; cannot pass a read-only reference where mutation or consumption is expected (SEM057).
#
# See also: सेवन, in
# =============================================================================

# से — borrowed iteration / parameters
#
# GRAMMAR:
#   forDeStmt :← 'दोहराओ' 'से' expr 'स्थिर' ident block
#
# EXPECTED OUTPUT:
#   Scalar stdout smoke (see body).
#
# BACKEND:
#   Cross-ref: दोहराओ/de.fab.
#

main {
    const map<string, int> persona ← { "nomen": 1, "aetas": 30 }
    for ref persona const clavis {
        print clavis
    }
    const list<int, 3> numeri ← [10, 20, 30]
    for ref numeri const index {
        print index
    }
}

radix/corpus/itera/de.fab (canonical · keyword)#

Introduces borrowed iteration or borrowed parameters.

# =============================================================================
# से — Introduces borrowed iteration or borrowed parameters.
# =============================================================================
#
# What this teaches:
#   • borrowed iteration (`दोहराओ से`) over तालिका keys and सूची indices — iterates without consuming the collection
#   • accessing values by key or index within a borrowed loop
#
# Common mistakes:
#   • Using से (key/index iteration) when सेवन (value iteration) is needed, or vice versa — से iterates keys/indices, सेवन iterates values.
#
# See also: सेवन, in
# =============================================================================

# दोहराओ से — for-in key and index iteration
#
# दोहराओ से <वस्तु> स्थिर <key> { <body> }
# दोहराओ से <सूची> स्थिर <index> { <body> }
#
# GRAMMAR:
#   forDeStmt :← 'दोहराओ' 'से' expr 'स्थिर' ident block
#
# EXPECTED OUTPUT:
#   none — stdout not pinned for this exemplum.

main {
    # Iterate over तालिका keys
    const map<string, string> persona ← { "nomen": "Marcus", "urbs": "Roma" }
    for ref persona const clavis {
        print clavis
    }

    # Access values using the key
    for ref persona const clavis {
        print clavis, persona[clavis]
    }

    # Iterate over सूची indices
    const list<int, 3> numeri ← [10, 20, 30]
    for ref numeri const index {
        print "index: § valor: §"(index, numeri[index])
    }

    # With numerus-valued तालिका
    const map<string, int> forma ← { "alpha": 1, "beta": 2 }
    for ref forma const k {
        print k
    }
}