ಲಿನಕ್ಸ್ "ಫೀರಾಚ್" ಕಮಾಂಡ್ನೊಂದಿಗೆ ಬಿಲ್ಡ್ ಲಿಸ್ಟ್ ಇಟರೇಟರ್ಗಳು

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡುವಾಗ, ಫೋರ್ಚ್ ಆಜ್ಞೆಯು ಒಂದು ಲೂಪ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಲೂಪ್ ಅಸ್ಥಿರವು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಪಟ್ಟಿಗಳಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಊಹಿಸುತ್ತದೆ. ಸರಳವಾದ ಪ್ರಕರಣದಲ್ಲಿ ಒಂದು ಲೂಪ್ ವೇರಿಯೇಬಲ್, ವಾರ್ನೇಮ್ , ಮತ್ತು ಒಂದು ಪಟ್ಟಿ, ಪಟ್ಟಿ , ಇದು ವಾರ್ನೇಮ್ಗೆ ನಿಯೋಜಿಸಲು ಮೌಲ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿದೆ. ದೇಹ ವಾದವು ಟಿಎಲ್ಎಲ್ ಸ್ಕ್ರಿಪ್ಟ್. ಪಟ್ಟಿಯ ಪ್ರತಿಯೊಂದು ಅಂಶಕ್ಕೂ ( ಮೊದಲಿನಿಂದ ಕೊನೆಯವರೆಗೆ), foreach ಅಂಶವನ್ನು ಹೊರತೆಗೆಯಲು ಲಿಂಡೆಕ್ಸ್ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿದಂತೆ ಅಂಶದ ವಿಷಯಗಳನ್ನು ವರ್ಣಮಾಲೆಯನ್ನಾಗಿ ನಿಯೋಜಿಸುತ್ತದೆ, ನಂತರ Tcl ಇಂಟರ್ಪ್ರಿಟರ್ ದೇಹವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕರೆ ಮಾಡುತ್ತದೆ.

ಸಾರಾಂಶ

foreach ವಾರ್ನೆಂ ಪಟ್ಟಿ ದೇಹದ
foreach varlist1 list1 ? varlist2 list2 ... ? ದೇಹ

ಚರ್ಚೆ

ಸಾಮಾನ್ಯ ಪ್ರಕರಣದಲ್ಲಿ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಮೌಲ್ಯದ ಪಟ್ಟಿ (ಉದಾ, ಪಟ್ಟಿ 1 ಮತ್ತು ಪಟ್ಟಿ 2 ) ಇರುತ್ತದೆ, ಮತ್ತು ಪ್ರತಿ ಮೌಲ್ಯ ಪಟ್ಟಿ ಲೂಪ್ ಅಸ್ಥಿರಗಳ ಪಟ್ಟಿಗೆ ಸಂಬಂಧಿಸಿರಬಹುದು (ಉದಾ, varlist1 ಮತ್ತು varlist2 ). ಲೂಪ್ನ ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರತಿ varlist ನ ಅಸ್ಥಿರ ಅನುಗುಣವಾದ ಪಟ್ಟಿಯಿಂದ ಅನುಕ್ರಮ ಮೌಲ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಪಟ್ಟಿಯ ಮೌಲ್ಯಗಳು ಮೊದಲಿನಿಂದ ಕೊನೆಯವರೆಗೂ ಕ್ರಮವಾಗಿ ಬಳಸಲ್ಪಡುತ್ತವೆ, ಮತ್ತು ಪ್ರತಿ ಮೌಲ್ಯವನ್ನು ನಿಖರವಾಗಿ ಒಮ್ಮೆ ಬಳಸಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ ಮೌಲ್ಯಗಳ ಪಟ್ಟಿಗಳಿಂದ ಎಲ್ಲ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಲು ಸಾಕಷ್ಟು ಲೂಪ್ ಪುನರಾವರ್ತನೆಗಳು ದೊಡ್ಡದಾಗಿದೆ. ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯಲ್ಲಿ ಅದರ ಪ್ರತಿಯೊಂದು ಲೂಪ್ ಅಸ್ಥಿರಗಳಿಗೆ ಮೌಲ್ಯಗಳ ಪಟ್ಟಿ ಸಾಕಷ್ಟು ಅಂಶಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಕಳೆದುಹೋದ ಅಂಶಗಳಿಗಾಗಿ ಖಾಲಿ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ವಿರಾಮ ಮತ್ತು ಮುಂದುವರಿಕೆ ಹೇಳಿಕೆಗಳನ್ನು ದೇಹದಲ್ಲಿ ಅಳವಡಿಸಬಹುದು , ಆಜ್ಞೆಯಂತೆ ಅದೇ ರೀತಿಯ ಪರಿಣಾಮವೂ ಇರುತ್ತದೆ. F oreach ಖಾಲಿ ಸ್ಟ್ರಿಂಗ್ ಹಿಂದಿರುಗಿಸುತ್ತದೆ.

ಉದಾಹರಣೆಗಳು

ಕೆಳಗಿನ ಲೂಪ್ i ಮತ್ತು j ಯನ್ನು ಲೂಪ್ ಅಸ್ಥಿರವಾಗಿ ಒಂದೇ ಪಟ್ಟಿಯ ಜೋಡಿಗಳ ಮೇಲೆ ತಿರುಗಿಸಲು ಬಳಸುತ್ತದೆ.

ಸೆಟ್ x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x ನ ಮೌಲ್ಯ "badcfe" # ಲೂಪ್ನ 3 ಪುನರಾವರ್ತನೆಗಳು ಇವೆ.

ಮುಂದಿನ ಲೂಪ್ ನಾನು ಮತ್ತು ಜೆ ಅನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಎರಡು ಪಟ್ಟಿಗಳ ಮೇಲೆ ತಿರುಗಿಸಲು ಬಳಸುತ್ತದೆ.

ಸೆಟ್ x {} foreach i {abc} j {defg} {lappend x $ i $ j} # x ನ ಮೌಲ್ಯವು "adbecf {} g" # ಲೂಪ್ನ 4 ಪುನರಾವರ್ತನೆಗಳು ಇವೆ.

ಈ ಎರಡು ರೂಪಗಳನ್ನು ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗುತ್ತದೆ.

ಸೆಟ್ x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # x ನ ಮೌಲ್ಯ "adebfgc {} {}" # ಲೂಪ್ನ 3 ಪುನರಾವರ್ತನೆಗಳು ಇವೆ.

ಟಿಪ್ಪಣಿಗಳು

ಹಲವಾರು ಸಂಬಂಧಿತ ಆಜ್ಞೆಗಳು ಸೇರಿದಂತೆ ಮುನ್ನುಡಿಯೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ:

ಏಕೆಂದರೆ ಲಿನಕ್ಸ್ ವಿತರಣೆ ಮತ್ತು ಕರ್ನಲ್-ಬಿಡುಗಡೆಯ ಮಟ್ಟಗಳು ಬದಲಾಗುತ್ತವೆ, ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಗಣಕದಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಮ್ಯಾನ್ ಆಜ್ಞೆಯನ್ನು ( % man ) ಬಳಸಿ.