Jak se pozná senior

ava

Re:Jak se pozná senior
« Odpověď #225 kdy: 19. 12. 2016, 19:26:56 »

      println(
        (1 to 10).map(x ⇒
          (1 to 10).map(y ⇒ f"${x * y}%3d").mkString(" ")
        ).mkString("\n")
      )


gll

Re:Jak se pozná senior
« Odpověď #226 kdy: 19. 12. 2016, 20:33:49 »
Kód: [Vybrat]
for (1..10 X* 1..10).map(*.fmt('%3d')).rotor(10) {.fmt.say}

gll

Re:Jak se pozná senior
« Odpověď #227 kdy: 19. 12. 2016, 20:58:37 »
Super. fmt umí formátovat i dvojrozměrná pole.

Kód: [Vybrat]
say ((1..10) <<*>> (1..10,)).fmt('%3d', '\n')

nebo

Kód: [Vybrat]
say (1..10 X* 1..10).rotor(10).fmt("%3d", "\n")

Vaše zaostalé jazyky bez metaoperátorů se nechytají.

andy

Re:Jak se pozná senior
« Odpověď #228 kdy: 19. 12. 2016, 23:34:53 »
Kód: [Vybrat]
say (1..10 X* 1..10).rotor(10).fmt("%3d", "\n")

Vaše zaostalé jazyky bez metaoperátorů se nechytají.

http://pointfree.io/ mi vygenerovalo tohle:
Kód: [Vybrat]
mapM_ putStrLn ((([1..10] >>=) . (printf "%4d" .) . (*)) <$> [1..10 :: Int])
Ale to už je cvičení na IQ testy - kdo pochopí, co to dělá.... (já bych to nepochopil).

gll

Re:Jak se pozná senior
« Odpověď #229 kdy: 20. 12. 2016, 00:53:30 »
Kód: [Vybrat]
say (1..10 X* 1..10).rotor(10).fmt("%3d", "\n")

Vaše zaostalé jazyky bez metaoperátorů se nechytají.

http://pointfree.io/ mi vygenerovalo tohle:
Kód: [Vybrat]
mapM_ putStrLn ((([1..10] >>=) . (printf "%4d" .) . (*)) <$> [1..10 :: Int])
Ale to už je cvičení na IQ testy - kdo pochopí, co to dělá.... (já bych to nepochopil).

Tak tohle je drsné. To bych nechtěl po někom zdědit. Perl 6 dokáže být stručnější a současně čitelnější bez použití složitých konceptů.


andy

Re:Jak se pozná senior
« Odpověď #230 kdy: 20. 12. 2016, 01:03:05 »
Tak tohle je drsné. To bych nechtěl po někom zdědit. Perl 6 dokáže být stručnější a současně čitelnější bez použití složitých konceptů.
No vždyť jsem to taky musel dát do toho generátoru point-free syntaxe, sám bych to nevyrobil... normálně to vypadá takhle:
Kód: [Vybrat]
mapM_ putStrLn $ map (concatMap (printf "%4d")) [ map (*x) [1..10] | x <- [1..10 :: Int]]A to už je v pohodě čitelné

spasitel

Re:Jak se pozná senior
« Odpověď #231 kdy: 20. 12. 2016, 09:07:23 »
tvl co za prasarny to pisete? to jako musi byt radost s vama pracovat, kdyz nekdo po vas musi cist tyhle sracky

Youda

Re:Jak se pozná senior
« Odpověď #232 kdy: 20. 12. 2016, 09:32:48 »
tvl co za prasarny to pisete? to jako musi byt radost s vama pracovat, kdyz nekdo po vas musi cist tyhle sracky

Tyhlety contesty jsou urcity druh programatorske onanie.
Zapsat ulohu tak, ze vypada jako porucha na lince. Pak se placaj po zadech, jaci to jsou chlapaci, ze tem human obfuscator zpraskum po delsim zahloubani rozumi. A komu to prijde jako pakarna, ten je hlopa lama.
V enterprise svete jse videl i opacny konec programatorske onanie. Udelat tenhle ukol na OSGi containeru s vizualizaci na Eclipse RCP, interni prenos cislic pres ActiveMQ message bus. Tenhle pristup ake ma svije racio, kdyz pottebujes ohromit projektaka zakaznika, aby za generator nasobilky zaplatil pul mice

vera p.

Re:Jak se pozná senior
« Odpověď #233 kdy: 20. 12. 2016, 10:19:54 »
I am watching you ...


Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Jak se pozná senior
« Odpověď #234 kdy: 20. 12. 2016, 10:44:30 »
Víte prd, jak se vypisuje násobilka...

Kód: [Vybrat]
+++++++++++++>
++++++++++++++++++++++++++++++++>
++++++++++++++++++++++++++++++++++++++++++++++++
<...>+.<...>+.<...>+.<...>+.<...>+.<...>+.<...>+.<...>+.<...>+.<..>--------.-.<<.
>...>++.<...>++.<...>++.<...>++.<..>-------.-.<..>+.+.<..>-.+++.<..>---.+++++.<..>-----.+++++++.<..>------.--.<<.
>...>+++.<...>+++.<...>+++.<..>--------.+.<..>-.++++.<..>----.+++++++.<..>------.-.<..>+.++.<..>--.+++++.<..>----.---.<<.
>...>++++.<...>++++.<..>-------.+.<..>-.+++++.<..>----.--.<..>++.++.<..>--.++++++.<..>-----.-.<..>+.+++.<..>--.----.<<.
>...>+++++.<..>----.-.<..>+.++++.<..>---.--.<..>++.+++.<..>--.---.<..>+++.++.<..>-.----.<..>++++.+.<..>.-----.<<.
>...>++++++.<..>-----.+.<..>-.+++++++.<..>------.++.<..>-.---.<..>+++.+++.<..>--.--.<..>++.++++.<..>---.-.<..>++.------.<<.
>...>+++++++.<..>------.+++.<..>--.-.<..>+.++++++.<..>-----.++.<..>-.--.<..>++.+++++.<..>----.+.<..>.---.<..>++++.-------.<<.
>...>++++++++.<..>-------.+++++.<..>----.++.<..>-.-.<..>++.----.<..>++++.++++.<..>---.+.<..>.--.<..>+++.-----.<..>++++++.--------.<<.
>...>+++++++++.<..>--------.+++++++.<..>------.+++++.<..>----.+++.<..>--.+.<..>.-.<..>++.---.<..>++++.-----.<..>++++++.-------.<..>++++++++.---------.<<.
>..>+.-.<..>++.--.<..>+++.---.<..>++++.----.<..>+++++.-----.<..>++++++.------.<..>+++++++.-------.<..>++++++++.--------.<..>+++++++++.---------.<.>+.-..

Tohle je jazyk budoucnosti :P

edit, původně to bylo na jedné řádce, ale nevynikla ta krása :D

gll

Re:Jak se pozná senior
« Odpověď #235 kdy: 20. 12. 2016, 14:02:33 »
Tak tohle je drsné. To bych nechtěl po někom zdědit. Perl 6 dokáže být stručnější a současně čitelnější bez použití složitých konceptů.
No vždyť jsem to taky musel dát do toho generátoru point-free syntaxe, sám bych to nevyrobil... normálně to vypadá takhle:
Kód: [Vybrat]
mapM_ putStrLn $ map (concatMap (printf "%4d")) [ map (*x) [1..10] | x <- [1..10 :: Int]]A to už je v pohodě čitelné

To je téměř stejně dlouhé jako řešení v c. Slušný jazyk by měl umožňovat vygenerování podobné tabulky jedinou vektorizovanou operací, pouze s použitím vestavěných funkcí a operátorů.

Kód: [Vybrat]
[ map (*x) [1..10] | x <- [1..10 :: Int]]

dělá to stejné co hyperoperátor <<*>> v perlu 6. Tisk tabulky je také hodně ukecaný a printf ani není součástí prelude. Haskell sucks.

javaman ()

Re:Jak se pozná senior
« Odpověď #236 kdy: 20. 12. 2016, 14:08:58 »
Pán bude zřejmě odborník ;D

Lol Phirae

Re:Jak se pozná senior
« Odpověď #237 kdy: 20. 12. 2016, 14:16:14 »
ale nevynikla ta krása :D

Mám u tebe pivo, skončilo na monitoru.  ;D ;D ;D

Rad

Re:Jak se pozná senior
« Odpověď #238 kdy: 20. 12. 2016, 14:34:02 »
No tak si to užijte v céčku, když jinak nedáte...
Kód: [Vybrat]
#include <stdio.h>
#include <string.h>

#define XSIZE 10
#define YSIZE 10

int main() {
    int number, x, y, max_len, cur_len, spaces;
    char number_str[10];
    snprintf (number_str, 10, "%d", XSIZE*YSIZE);
    max_len = strlen(number_str);
    for (y=1; y<=YSIZE; y++) {
        for (x=1; x<=XSIZE; x++) {
            number = x*y;
            snprintf (number_str, 10, "%d", number);
            cur_len = strlen(number_str);
            for (spaces=cur_len; spaces<=max_len; spaces++)
                printf ("%s", " ");
            printf ("%s", number_str);
        }
        printf ("%s", "\n");
    }
}

a return mas kde, kdyz uz to neni jako void?

gll

Re:Jak se pozná senior
« Odpověď #239 kdy: 20. 12. 2016, 15:13:36 »