title: How to make loop execute one iteration per 2 seconds with yield?
body: <p>Can't understand logic of the coroutine's work. In my example, as I understand, loop must execute one iteration per two seconds, but after start the program it waits for two seconds and execue a whole loop.</p>
  
  <p>Can't understand, what's wrong.</p>
  
  <pre><code>    void Start ()
      {
          StartCoroutine ("MyCoroutine");
      }
  
      IEnumerator MyCoroutine()
      {
          yield return new WaitForSeconds(2.0f);      
  
          for (int i = 0; i &lt; 5; i++)
          {
              Debug.Log(i); // It must execute ont time per 2 seconds?
              yield return null;
          }
      }
  </code></pre>