ਲੀਨਕਸ "ਫੋਰਚ" ਕਮਾੰਡ ਨਾਲ ਸੂਚੀ ਬਣਾਓ Iterators

ਜਦੋਂ ਪ੍ਰੋਗਰਾਮਿੰਗ ਹੁੰਦੀ ਹੈ , ਫੋਰਚ ਕਮਾਂਡ ਇੱਕ ਲੂਪ ਲਾਗੂ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਲੂਪ ਵੇਰੀਏਬਲ ਇੱਕ ਜਾਂ ਵੱਧ ਸੂਚੀਆਂ ਵਿੱਚੋਂ ਮੁੱਲਾਂ ਨੂੰ ਮੰਨਦਾ ਹੈ. ਸਭ ਤੋਂ ਸਧਾਰਨ ਕੇਸ ਵਿਚ ਇਕ ਲੂਪ ਵੇਅਰਿਏਬਲ, ਵਰਨਾਮੇ ਅਤੇ ਇਕ ਸੂਚੀ, ਸੂਚੀ ਹੈ , ਜੋ ਕਿ ਵਰਨੈਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਦੇ ਮੁੱਲਾਂ ਦੀ ਇਕ ਸੂਚੀ ਹੈ. ਸਰੀਰ ਦੀ ਦਲੀਲ ਇੱਕ Tcl ਲਿਪੀ ਹੈ. ਸੂਚੀ ਦੇ ਹਰੇਕ ਤੱਤ ਲਈ (ਪਹਿਲੀ ਤੋਂ ਆਖਰੀ ਤੱਕ), ਫੋਰਚ ਨੇ ਤੱਤ ਦੇ ਤੱਤ ਨੂੰ ਵਰਨਾਮੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਧਾਰਤ ਕੀਤਾ ਹੈ ਜਿਵੇਂ ਕਿ ਲਿੰਡੈਕਸ ਕਮਾਂਡ ਨੂੰ ਤੱਤ ਕੱਢਣ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ, ਫਿਰ ਸਰੀਰ ਨੂੰ ਚਲਾਉਣ ਲਈ Tcl ਇੰਟਰਪਰੀਟਰ ਨੂੰ ਬੁਲਾਉਂਦਾ ਹੈ .

ਸੰਖੇਪ

ਫੋਰਚ ਵਰਨਾਮ ਲਿਸਟ ਬਾਡੀ
ਫੋਰਚ ਵਰਲਡ 1 ਸੂਚੀ 1 ? varlist2 list2 ... ? ਸਰੀਰ

ਚਰਚਾ

ਇੱਕ ਆਮ ਕੇਸ ਵਿੱਚ, ਇਕ ਤੋਂ ਵੱਧ ਮੁੱਲ ਸੂਚੀ (ਉਦਾਹਰਨ ਲਈ, ਸੂਚੀ 1 ਅਤੇ ਸੂਚੀ 2 ) ਹੋ ਸਕਦੀ ਹੈ, ਅਤੇ ਹਰੇਕ ਮੁੱਲ ਸੂਚੀ ਨੂੰ ਲੂਪ ਵੇਰੀਏਬਲ (ਜਿਵੇਂ ਕਿ varlist1 ਅਤੇ varlist2 ) ਦੀ ਸੂਚੀ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਲੂਪ ਦੇ ਹਰੇਕ ਆਵਾਜਾਈ ਦੇ ਦੌਰਾਨ, ਹਰੇਕ ਵਰਲਿਲ ਦੇ ਵੇਰੀਏਬਲਸ ਸੰਬੰਧਿਤ ਲਿਸਟ ਤੋਂ ਲਗਾਤਾਰ ਮੁੱਲ ਜਾਰੀ ਕੀਤੇ ਗਏ ਹਨ ਹਰੇਕ ਸੂਚੀ ਵਿਚਲੇ ਵੈਲਯੂਸ ਪਹਿਲਾਂ ਤੋਂ ਅਖੀਰ ਤਕ ਕ੍ਰਮਵਾਰ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਹਰ ਇੱਕ ਵੈਲਯੂ ਬਿਲਕੁਲ ਇਕ ਵਾਰ ਵਰਤੀ ਜਾਂਦੀ ਹੈ. ਲੂਪ ਪੁਨਰਗਠਨ ਦੀ ਕੁੱਲ ਗਿਣਤੀ ਸਾਰੇ ਮੁੱਲ ਸੂਚੀ ਵਿੱਚੋਂ ਸਾਰੇ ਮੁੱਲਾਂ ਨੂੰ ਵਰਤਣ ਲਈ ਕਾਫੀ ਹੈ. ਜੇ ਕਿਸੇ ਵੈਲਯੂ ਸੂਚੀ ਵਿੱਚ ਹਰ ਇੱਕ ਦੁਹਰਾਉਣ ਦੇ ਹਰ ਇੱਕ ਲੂਪ ਵੇਰੀਏਬਲ ਲਈ ਲੋੜੀਦੇ ਅੰਸ਼ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦੇ ਹਨ, ਤਾਂ ਖਾਲੀ ਮੁੱਲ ਗੁੰਮ ਐਲੀਮੈਂਟਸ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ.

ਹੁਕਮ ਲਈ ਬ੍ਰੇਕ ਅਤੇ ਜਾਰੀ ਬਿਆਨਾਂ ਨੂੰ ਸਰੀਰ ਦੇ ਅੰਦਰ ਅਰੰਭ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. F oreach ਇੱਕ ਖਾਲੀ ਸਤਰ ਦਿੰਦਾ ਹੈ

ਉਦਾਹਰਨਾਂ

ਹੇਠ ਲਿਖੇ ਲੂਪ ਇੱਕ ਸੂਚੀ ਦੇ ਤੱਤ ਦੇ ਜੋੜਿਆਂ ਤੋਂ ਦੁਹਰਾਉਣ ਲਈ ਲੂਪ ਵੇਅਰਿਏਬਲਜ਼ ਦੇ ਤੌਰ ਤੇ i ਅਤੇ j ਦਾ ਇਸਤੇਮਾਲ ਕਰਦਾ ਹੈ.

ਸੈੱਟ x {} foreach {ij} {abcdef} {lappend x $ j $ i} # ਐਕਸ ਦਾ ਮੁੱਲ "badcfe" ਹੈ # ਲੂਪ ਦੇ 3 ਦੁਵੱਲੇ ਰੁੱਝੇ ਹਨ.

ਅਗਲੀ ਲੂਪ i ਅਤੇ j ਨੂੰ ਦੋ ਲਿਸਟਾਂ ਦੇ ਸਮਾਨਾਂਤਰ ਦੁਹਰਾਏਗਾ.

ਸੈੱਟ x {} foreach i {abc} j {defg} {lappend x $ i $ j} # ਐਕਸ ਦਾ ਮੁੱਲ "adbecf {} g" ਹੈ # ਲੂਪ ਦੇ 4 ਦੁਵੱਲੇ

ਦੋ ਫਾਰਮ ਹੇਠ ਲਿਖੇ ਉਦਾਹਰਨ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ

ਸੈੱਟ x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # ਐਕਸ ਦਾ ਮੁੱਲ "adebfgc {} {}" # ਲੂਪ ਦੇ 3 ਦੁਵੱਲੇ

ਨੋਟਸ

ਕਈ ਸਬੰਧਤ ਕਮਾਂਟਾਂ ਵਿੱਚ ਫੋਰਚੈਕ ਨਾਲ ਕੰਮ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

ਕਿਉਂਕਿ ਲੀਨਕਸ ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਅਤੇ ਕਰਨਲ-ਰੀਲਿਜ਼ ਸਤਰ ਵੱਖੋ-ਵੱਖਰੇ ਹਨ, ਇਸ ਲਈ ਵੇਖੋ ਕਿ man ਕਮਾਂਡ ( % man ) ਇਹ ਵੇਖਣ ਲਈ ਕਿ ਕਿਵੇਂ ਖਾਸ ਕੰਪਿਊਟਰ ਤੇ ਕਮਾਂਡ ਵਰਤੀ ਜਾਂਦੀ ਹੈ .