खोज…


वाक्य - विन्यास

  • for (<initializer>; <loop condition>; <loop statement>) {<स्टेटमेंट्स>}
  • जबकि (<हालत>) {<कथन>}
  • do {<स्टेटमेंट्स>} जबकि (<कंडीशन>);
  • foreach (<el>, <collection>)
  • foreach_reverse (<el>, <collection>)

टिप्पणियों

आप ऑनलाइन लूप और फोरचेक के साथ खेल सकते हैं।

पाश के लिए

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    for (int i = 0; i < arr.length; i++)
    {
        arr[i] *= 2;
    }
    writeln(arr); // [2, 6, 8]
}

घुमाव के दौरान

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    int i = 0;
    while (i < arr.length)
    {
        arr[i++] *= 2;
    }
    writeln(arr); // [2, 6, 8]
}

जबकि ऐसा

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    int i = 0;
    assert(arr.length > 0, "Array must contain at least one element");
    do
    {
        arr[i++] *= 2;
    } while (i < arr.length);
    writeln(arr); // [2, 6, 8]
}

प्रत्येक के लिए

Foreach संग्रह को कम त्रुटि-रहित और बेहतर पठनीय तरीका देता है। यदि हम सीधे पुनरावृत्त तत्व को संशोधित करना चाहते हैं, तो विशेषता ref का उपयोग किया जा सकता है।

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    foreach (ref el; arr)
    {
        el *= 2;
    }
    writeln(arr); // [2, 6, 8]
}

पुनरावृत्ति के सूचकांक तक भी पहुँचा जा सकता है:

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    foreach (i, el; arr)
    {
        arr[i] = el * 2;
    }
    writeln(arr); // [2, 6, 8]
}

रिवर्स ऑर्डर में परिवर्तन संभव है:

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    int i = 0;
    foreach_reverse (ref el; arr)
    {
        el += i++; // 4 is incremented by 0, 3 by 1, and 1 by 2
    }
    writeln(arr); // [3, 4, 4]
}

तोड़ें, जारी रखें और लेबल करें

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4, 5];
    foreach (i, el; arr)
    {
        if (i == 0)
            continue; // continue with the next iteration
        arr[i] *= 2;
        if (i == 2)
            break; // stop the loop iteration
    }
    writeln(arr); // [1, 6, 8, 5]
}

नेस्टेड लूप के भीतर लेबल को break या continue लिए भी इस्तेमाल किया जा सकता है।

void main()
{
    import std.stdio : writeln;
    int[] arr = [1, 3, 4];
    outer: foreach (j; 0..10) // iterates with j=0 and j=1
        foreach (i, el; arr)
        {
            arr[i] *= 2;
            if (j == 1)
                break outer; // stop the loop iteration
    }
    writeln(arr); // [4, 6, 8] (only 1 reaches the second iteration)
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow