Язык D: как вы делаете, например, Php array ();для каждого()? - PullRequest
3 голосов
/ 07 апреля 2011

Как мне правильно интерпретировать этот массив $ $ и $ object и foreach () с Php на D?

Php (pro):

class Zend_Models
{
    public static function getSome()
    {
      $array = array(
         "a" => "b",
         "b" => "b"
      );
      $object = (object) $array;

      foreach($object as $value)
      {
        $this->view->inject[] = $value;              
      }
      // Zend_Debug::dump($this->view->inject); 
      return "ok";
    }


    public static getAbove() 
    {
      return self::getSome();
    }
}

D (инкубатор, делает ошибки):

import std.stdio;

class Zend_Models
{
  void static getSome()
  {
    //?...
  }
}

1 Ответ

7 голосов
/ 07 апреля 2011

Я думаю, что это сделало бы:

import std.stdio;

class Zend_Models
{
    string getSome()
    {
          auto array = ["a", "b"];

          foreach(value; array)
          {
              this.view.inject ~= value;
          }

          return "ok";
       } 
    }

    string getAbove() {
        return getSome();
    }
}

Тем не менее, вы, вероятно, не должны пытаться писать PHP на D. Вероятно, лучше использовать исключения, чем возвращать код состояния, и, если вы действительно возвращаете код состояния, возможно, enum лучше чем строка.

...