Кресты / Говнокод #24802 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
#include <map>
#include <stdio.h>
#include <vector>
using namespace std;
 
int main() {
   map<string, int> karta;
   for (auto pituh : vector<string> {"foo", "bar", "foo"}) {
    	karta[pituh]++;
   }
   printf("foo: %d\nbar: %d\n", karta["foo"], karta["bar"]);
   return 0;
}

<?php

$karta = [];
foreach (["foo", "bar", "foo"] as $pituh) {
    if (!isset($karta[$pituh])) {
        $karta[$pituh] = 0;
    }
    $karta[$pituh]++;
}
echo "foo: {$karta['foo']}\nbar: {$karta['bar']}\n";


Поэтому за что я?

Запостил: guestinxo guestinxo, (Updated )

Комментарии (22) RSS

  • И в чем проблема? Как инициализируется элемент при создании? Так int() - это 0.
    Ответить
    • Проблема в "PHP", где нужно инициализировать вручную.
      Ответить
  • Питония!
    from collections import defaultdict
    
    karta = defaultdict(lambda: 0)
    
    for pituh in ("foo", "bar", "foo"):
        karta[pituh] += 1
    
    print("foo: %s\nbar: %s" % (karta["foo"], karta["bar"]))
    Ответить
    • Питониевый O(n^2):
      goroda = ("foo", "bar", "foo")
      karta = dict([(x, goroda.count(x)) for x in set(goroda)])
      print("foo: %s\nbar: %s" % (karta["foo"], karta["bar"]))
      Ответить
        • Ну это очевидно было. Правда, по хорошему нужно добавить шебанг и

          def main():
              ...
          if __name__=="__main__":
              main()
          Ответить
    • Держи, Хуй:
      karta = setmetatable({}, {__index = function(x) return 0; end})
      
      for k, i in pairs({"foo", "bar", "foo"}) do
          karta[i] = karta[i] + 1
      end
      
      print(("foo: %s\nbar: %s"):format(karta["foo"], karta["bar"]))
      Ответить
        • Пожалуйста, Хуй!

          ЗЫ. Хуй, расскажи молодому и неопытному Хую, можно ли этот цикл переписать как-нибудь по-другому?
          Ответить
          • Можно более забавнее, например метаметод паирс вроде бы в lua 5.3 или 5.2 завезли, или через call как то такой метаметод, но не думаю короче.
            Посплю, попробую уделить этому время, Хуй.
            Ответить
  • import qualified Data.Map as M
    import Text.Printf
    
    mapM_ (uncurry $ printf "%s → %d\n") $ M.toList $ M.fromListWith (+) $ zip ["foo", "baz", "foo"] [1,1..]
    
    -- baz → 1
    -- foo → 2
    Ответить
      • он просит перевести я ызка программирования на понятный ему "PHP"
        Ответить
          • Всё, вопрос снят (по привычке всегда пропускаю описания к кодам).
            Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8