Язык D: как вы это делаете, например, Php array(); для каждого()?

Как я могу правильно выполнить эту интерпретацию $array и $object и foreach() с Php на D?

Php (про):

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()
  {
    //?...
  }
}

php d
person Community    schedule 07.04.2011    source источник
comment
Не знаю D, но, судя по всему, это не динамический язык, как PHP. Вам нужно будет использовать некоторый класс HashTable или что-то подобное.   -  person NikiC    schedule 07.04.2011
comment
Тогда было бы бесполезно изучать новые языки, чтобы минимизировать простоту, не так ли? Должно быть умнее, чем PHP.   -  person    schedule 07.04.2011


Ответы (1)


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

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, вероятно, лучше, чем строка.

person dsimcha    schedule 07.04.2011