anonymous@RULINUX.NET~# Last login: 2024-12-26 10:39:59
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Код на руби

Навеяно этим:

>Вот, например, Ларри Уолл. Он вырос в семье пасторов, мечтал быть пастором, выучился на лингвиста, таки даже занимался изучением и переводом библии.
И, при этом, написал настоящий язык ада. Что-то в их христианской консерватории явно не так.

SystemV(*)(2012-07-05 15:14:22)

Emacs-w3m/1.4.468 w3m/0.5.3

http://rulinux.net/thread_37580_page_1#msg146414


ruby
# ruby
l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!¥")/){|t|'¥"+l*%d+¥"'%(t
.size/2)};5.times{s=s.dump[r]};puts¥"# python¥¥nprint(¥¥¥"# perl¥¥¥¥nprint(¥¥¥¥¥¥
¥"# lua"+l*4+"nprint("+l*7+"¥"(* ocaml *)"+l*8+"nprint_endline"+l*15+"¥"-- haskel
l"
+l*16+"nimport Data.List;import Data.Bits;import Data.Char;main=putStrLn("+l*31
+"¥"/* C */"+l*32+"n#include<stdio.h>"+l*32+"nint main(void){char*s[501]={"+l*31+
"¥"++intercalate"+l*31+"¥","+l*31+"¥"(c(tail(init(show("+l*31+"¥"/* Java */"+l*32
+"npublic class QuineRelay{public static void main(String[]a){String[]s={"+l*31+"
¥"
++intercalate"+l*31+"¥","+l*31+"¥"(c("+l*31+"¥"brainfuck"+l*64+"n++++++++[>++++
<-]+++++++++>>++++++++++"
+l*31+"¥"++(concat(snd(mapAccumL h 2("+l*31+"¥"110"+l*31
+"¥"++g(length s)++"+l*31+"¥"22111211100111112021111102011112120012"+l*31+"¥"++co
ncatMap("+l*32+"c->let d=ord c in if d<11then"+l*31+"¥"21002"+l*31+"¥"else"+l*31+
"
¥"111"+l*31+"¥"++g d++"+l*31+"¥"22102"+l*31+"¥")s++"+l*31+"¥"2100211101012021122
2211211101000120211021120221102111000110120211202"
+l*31+"¥"))))))++"+l*31+"¥","+l
*63+"¥""+l*64+"n"+l*63+"¥"};int i=0;for(;i<94;i++)System.out.print(s[i]);}}"+l*31
+"¥")))))++"+l*31+"¥",0};int i=0;for(;s[i];i++)printf("+l*63+"¥"%s"+l*63+"¥",s[i]
);puts("
+l*63+"¥""+l*63+"¥");return 0;}"+l*31+"¥");c s=map("+l*32+"s->"+l*31+"¥""
+l*63+"¥""+l*31+"¥"++s++"+l*31+"¥""+l*63+"¥""+l*31+"¥")(unfoldr t s);t[]=Nothing;
t s=Just(splitAt(if length s>w&&s!!w=='"+l*31+"¥"'then 501else w)s);w=500;f 0=Not
hing;f x=Just((if x`mod`2>0then '0'else '1'),x`div`2);g x= reverse (unfoldr f x);
h p c=let d=ord c-48in(d,replicate(abs(p-d))(if d<p then '<'else '>')++"+l*31+"¥"
."
+l*31+"¥");s="+l*31+"¥"# ruby"+l*32+"n"+l*31+"¥"++"+l*31+"¥"l=92.chr;eval s=¥"+
(z=l*31)+¥"¥¥¥"¥"+s+z+¥"¥¥¥""+l*31+"¥"++"+l*31+"¥""+l*32+"n"+l*31+"¥""+l*15+"¥""+
l*7+"¥")"+l*4+"n¥¥¥¥¥¥¥")¥¥¥")¥"########### (c) Yusuke Endoh, 2009 ###########¥n"
 


http://rsdn.ru/forum/etude/3595862.1.aspx

Ну что, ещё один "язык ада"? ;)

josephson(*) (2012-08-02 23:36:32)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Код на руби от josephson 2012-08-02 23:36:32
avatar
Скрыть

Re:Код на руби

Японцы срут не в подъезде, а в коде..

anonymous(*)(2012-08-02 23:41:13)

[#] [Добавить метку] [Редактировать] Ответ на: Код на руби от josephson 2012-08-02 23:36:32
avatar
Скрыть

Re:Код на руби

Такое можно написать почти на любом вменяемом языке.

А вот однострочник, это классика ...

anonymous(*)(2012-08-02 23:43:57)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1
[#] [Добавить метку] [Редактировать] Ответ на: Код на руби от josephson 2012-08-02 23:36:32
avatar
Скрыть

Re:Код на руби

¥ - это что, рубаёвский оператор? Что-то в коде многовато его. Аффтар пусть на Piet переучивается.

bugmaker(*)(2012-08-02 23:45:51)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1
[#] [Добавить метку] [Редактировать] Ответ на: Re:Код на руби от anonymous 2012-08-02 23:43:57
avatar
Скрыть

Re:Код на руби

> Такое можно написать почти на любом вменяемом языке.

Что и доказывает данный код.
И на невменяемом, что данный код также доказывает.

anonymous(*)(2012-08-02 23:46:43)

[#] [Добавить метку] [Редактировать] Ответ на: Код на руби от josephson 2012-08-02 23:36:32
avatar
Скрыть

Re:Код на руби

>Прога представляет собой код на ruby, который выдает на выходе код на питоне, который выдает на выходе код на перле, который выдает на выходе код на луа, который выдает на выходе код на окамле, который выдает на выходе код на хаскелле, который выдает код на си, который выдает код на яве, который выдает код на брейнфаке, который выдает код на вайтспейсе, который выдает код на анлямбде, который выдает код на руби (в доме, который построил Джек, ага).


Я почему то думаю что это писалось в обратном порядке а потом, обфустировалось каким нить самописным транслятором.

anonymous(*)(2012-08-02 23:50:14)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1
[#] [Добавить метку] [Редактировать] Ответ на: Код на руби от josephson 2012-08-02 23:36:32
avatar
Скрыть

Re:Код на руби

>Ну что, ещё один "язык ада"? ;)
На язык ада, имхо, не тянет. Просто какой-то язык для фриков, впрочем, чего ещё ждать от японцев?

SystemV(*)(2012-08-03 00:42:15)

Emacs-w3m/1.4.503 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Код на руби от anonymous 2012-08-02 23:46:43
avatar
Скрыть

Re:Код на руби

> И на невменяемом,
на невменяемом как раз нельзя. Взять например бедон...

bugmaker(*)(2012-08-05 13:42:45)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
[#] [Добавить метку] [Редактировать] Ответ на: Re:Код на руби от bugmaker 2012-08-05 13:42:45
avatar
Скрыть

Re:Код на руби

Как раз можно. Ты камент по ссылке читал? "Прога представляет собой код на ruby, который выдает на выходе код на ПЕДОНЕ, который выдает на выходе код на перле, который выдает на выходе код на луа, который выдает на выходе код на окамле, который выдает на выходе код на хаскелле, который выдает код на си, который выдает код на яве, который выдает код на брейнфаке, который выдает код на вайтспейсе, который выдает код на анлямбде, который выдает код на руби"

anonymous(*)(2012-08-05 14:15:09)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Код на руби от anonymous 2012-08-05 14:15:09
avatar
Скрыть

Re:Код на руби

я вообще-то имел в виду сам топ-левел код. Все сгенерённые скорее всего достаточно хорошо читаемые. Проверять лень.

bugmaker(*)(2012-08-05 14:42:12)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
[#] [Добавить метку] [Редактировать] Ответ на: Re:Код на руби от bugmaker 2012-08-05 14:42:12
avatar
Скрыть

Re:Код на руби

Я так понял тот камент, что она воспроизводится по кругу, т.е. любое состояние можно принять за начальное.. Хотя может я неправильно понял.

anonymous(*)(2012-08-05 14:47:26)

Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!