digitalmars.D.learn - foreach () processing sequence
- jicman (19/19) Feb 06 2007 Greetings!
- Kirk McDonald (8/35) Feb 06 2007 (Nitpick: The type of str is char[][].)
- jicman (6/37) Feb 06 2007 sequence
- Johan Granberg (3/42) Feb 06 2007 I have wondered the same in the past. Is it documented somewhere? otherw...
- jicman (7/49) Feb 06 2007 hash
- Carlos Santander (4/48) Feb 06 2007 --
Greetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered in any way, will the sequence of execution **ALWAYS** follow the sequence of the array creation? In other words, will the execution of the foreach above always display, bb cc aa 00 11 zz dd Thanks, josé
Feb 06 2007
jicman wrote:Greetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered in any way, will the sequence of execution **ALWAYS** follow the sequence of the array creation? In other words, will the execution of the foreach above always display, bb cc aa 00 11 zz dd Thanks, jos�(Nitpick: The type of str is char[][].) Yes. An array is an ordered sequence. (As opposed to, say, a hash table, which is unordered.) -- Kirk McDonald Pyd: Wrapping Python with D http://pyd.dsource.org
Feb 06 2007
== Quote from Kirk McDonald's articlejicman wrote:anyGreetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered insequenceway, will the sequence of execution **ALWAYS** follow thetable,of the array creation? In other words, will the execution of the foreach above always display, bb cc aa 00 11 zz dd Thanks, jos�(Nitpick: The type of str is char[][].) Yes. An array is an ordered sequence. (As opposed to, say, a hashwhich is unordered.)You're not nitpick, but acurate. :-) Ok, thanks.
Feb 06 2007
jicman wrote:== Quote from Kirk McDonald's articleI have wondered the same in the past. Is it documented somewhere? otherwise I think it should be.jicman wrote:anyGreetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered insequenceway, will the sequence of execution **ALWAYS** follow thetable,of the array creation? In other words, will the execution of the foreach above always display, bb cc aa 00 11 zz dd Thanks, jos�(Nitpick: The type of str is char[][].) Yes. An array is an ordered sequence. (As opposed to, say, a hashwhich is unordered.)You're not nitpick, but acurate. :-) Ok, thanks.
Feb 06 2007
== Quote from Johan Granberg's articlejicman wrote:the== Quote from Kirk McDonald's articlejicman wrote:anyGreetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered insequenceway, will the sequence of execution **ALWAYS** follow theof the array creation? In other words, will the execution ofhashforeach above always display, bb cc aa 00 11 zz dd Thanks, jos�(Nitpick: The type of str is char[][].) Yes. An array is an ordered sequence. (As opposed to, say, aotherwisetable,I have wondered the same in the past. Is it documented somewhere?which is unordered.)You're not nitpick, but acurate. :-) Ok, thanks.I think it should be.I agree. I was just going to write a function to make sure that the the creation sequence was the sequence that it would execute on a foreach().
Feb 06 2007
jicman escribió:== Quote from Johan Granberg's articleCheck http://www.digitalmars.com/d/statement.html#ForeachStatement :jicman wrote:the== Quote from Kirk McDonald's articlejicman wrote:anyGreetings! Imagine this declarion, char[] str = ["bb", "cc", "aa", "00", "11", "zz", "dd"]; when I do a, foreach (char[] s; str) writefln(s); assuming that the str array has not been touched or altered insequenceway, will the sequence of execution **ALWAYS** follow theof the array creation? In other words, will the execution ofhashforeach above always display, bb cc aa 00 11 zz dd Thanks, jos�(Nitpick: The type of str is char[][].) Yes. An array is an ordered sequence. (As opposed to, say, aotherwisetable,I have wondered the same in the past. Is it documented somewhere?which is unordered.)You're not nitpick, but acurate. :-) Ok, thanks.I think it should be.I agree. I was just going to write a function to make sure that the the creation sequence was the sequence that it would execute on a foreach().For foreach, the elements for the array are iterated over starting at index 0 and continuing to the maximum of the array. For foreach_reverse, the array elements are visited in the reverse order.-- Carlos Santander Bernal
Feb 06 2007