タグ

rubyとquineに関するyouzのブックマーク (18)

  • カロリーメイトリキッドのQuineを書きました - まめめも

    縁あって、カロリーメイトリキッドのプロモーション用にちょっとした Ruby プログラムを書かせてもらいました。 www.otsuka.co.jp ↑のリンクを開いて、cd .Quine したところにある CML_quine.rb がそれです。 cat CML_quine.rb とすると中身が見えます。ruby CML_quine.rb すると動きます。 CalorieMate-Liquid-Quine 実行してみましたか?サイト上で気楽に実行できるので、ぜひ試してみてください。 これがどういうプログラムなのか、簡単に解説しておきます *1 。 ローカルでの遊び方 サイト上で ruby CML_quine.rb をするだけでも楽しめますが、自分のパソコンに保存するとより楽しめます。 まず、cat CML_quine.rb した中身をまるごとコピーしてください。 n=2;で始まる行の頭から、'

    カロリーメイトリキッドのQuineを書きました - まめめも
    youz
    youz 2020/08/05
    4行目あたりからロゴ筆跡データ、8行目あたりから流体描画、21行目あたりからロゴ描きかしら。こんなに短かく詰め込めるとは…
  • CalorieMate to Programmer CUIモード | 大塚製薬

    > BACK TO GENERAL PAGE CalorieMate to Programmer CUI MODE Copyright © Otsuka Pharmaceutical Co.,Ltd LOADING [------------------------------]

    CalorieMate to Programmer CUIモード | 大塚製薬
    youz
    youz 2020/08/03
    .Quineフォルダに入ってるCML_quine.rb、実行すると実際のマシン上で動かしたのを録画した映像が再生されるようになってるみたい。このRubyスクリプトはWindowsでもちゃんと動く。楽しい。
  • 放射線耐性 Quine (1 文字消しても動く Quine) - まめめも

    ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (

    放射線耐性 Quine (1 文字消しても動く Quine) - まめめも
  • Quine リレー - まめめも

    ref: https://github.com/mame/quine-relay/ 以下は、自分自身を出力する REXX プログラムを出力する Python プログラムを出力する R プログラムを出力する (...略...) を出力する Scala プログラムを出力する Ruby プログラムです。合計 50 言語を使います。 eval$s=%q(eval(%w(B=92.chr;N=10.chr;n=0;e=->(s){s.gsub(/[#{B+B+N}"]/){B+(N==$&??n:$&)}};E=->(s){'("'+e[s]+'")'} ;d=->(s,t=?"){s.gsub(t){t+t}};D=->(s,t=?@){s.gsub(B){t}};Q=->(s,t=?$){s.gsub(t){B+$&}};puts(eval(%q("objectXQRX extendsXApp{

    Quine リレー - まめめも
    youz
    youz 2013/07/16
    ウロボロスかわいい
  • 2012-08-27 downcase_quine.rb - 兼雑記

    小文字英語(と空白)だけで書かれた、 ruby 1.8 で動く Quine (ただし 32bit 環境限定) 。久しぶりにおおーという感じのコードになりました。 http://golf.shinh.org/reveal.rb?Quine/shinh+%28downcase%2C+mame%29_1346029732&rb 追記: 32bit 環境限定じゃなくて短くなったバージョンも作りました。 http://shinh.skr.jp/dat_dir/downcase_quine.rb このコードを作るのに考えたことなどを書いてみます。 id:ku-ma-me さんの方法 きっかけは id:ku-ma-me さんのこのスライドの話を聞いたことからでした。 http://www.slideshare.net/mametter/ruby-2012 ruby 1.9 で小文字英語だけでプログラムを

    2012-08-27 downcase_quine.rb - 兼雑記
    youz
    youz 2012/08/28
    > 小文字英語(と空白)だけで書かれた、 ruby 1.8 で動く Quine
  • Quine ruBy - まめめも

    略して QB 。 eval s||= %q(1;t= %w(s.gs ub!(/\e.* ?m/,"");[ [ 0x26e885c a844a879e27 a,519,48, 5 , 9],[20182686,600,48,5,1],[4366,611,48 , 5 ,15],[432803624050570,533,0]].map { | r,m,*d|s[m+=r%74,0],r="\e[#{d*";"}m", r /74while(r>0)};puts((z=32.chr)*5+"eval#{z *39}s||=\n#{z*5}%q(#{(1+n=s.to_i)%3}#{s[1 ..- 1]})\n\n"+z*9*n+"5YOV44GvUnVieWlzdO OBq +OB quOBo+OBpuOBj+OCjOOBo+OBpuOAgeOBjeOBo eOC k+OB qOOBi um

    Quine ruBy - まめめも
  • 2011-01-17 dissimilar cyclic quine - 兼雑記

    以下の ruby コード A を実行すると別の ruby コード B を出力します。で、その出力されたコード B を実行するとまた元のコード A を出力します。かつ、コード A とコード B は同じキャラクタを含んでいません。 eval q=%q(puts ('DIGGB%sB'%(('eval q=%q('+q+')').bytes.map{|c|'L%o'%c}*'')).tr'A-Z','!-%;-?[-]') 以下説明とか。 実行すると一旦違うコードになって戻ってくる Quine というのはよく考えるわけです。考えるんですよ! ですけど、これは普通の quine printf q="printf q=%p,q",q に変数を一個追加したら終わりで、 a=0;printf q="a=%d;printf q=%p,1-a,q",1-a,q なんてやってやれば OK です。 a=1 と

    2011-01-17 dissimilar cyclic quine - 兼雑記
  • Merry Quine-mas 2010 - まめめも

    今夜は、年に一度の W. V. Quine の命日イブです。 %;';;X= %q(x=1; z="%c"% 32;eval %w(w=N= Merry =128;r= z*79+$/; ;p=open" / dev/dsp ","w"rescue$_;/ / ;eval"s rand(%s)"%$*[ d=0];a=[];s=(r+z+% (%;';;X=#{z* 3}%q(#{X});e val(X)) +r*=23).l ines.map{|l|l.chop+ r};t=proc{|y|s [y][x-1,w].sca n(/\S /){s[y+1][m=x -1+$` .size ,1]== z&&a< <[$&,m, y,s[y ][m]=$/]};y};t[ 23];f =(0.. 1071) .map{|i|c,x,y =a.shuffle!. pop;s [y][x]=z

    Merry Quine-mas 2010 - まめめも
    youz
    youz 2010/12/24
    去年よりさらに凄い事になってるww
  • Merry Quine-mas 2010

  • RubyでうどんげQuine(とAA型Quineの作り方講座) - ぬいぐるみライフ?

    山手Quineのid:ku-ma-meさんに敬意を表しつつ. Quineって何なの Quineとは実行すると自身のソースコードを出力するプログラムのこと. クワイン (プログラミング) - Wikipedia うどんげQuine ソースコードがうどんげのAAになっているQuineコードを作ってみた.Gistはこちら. udonge_quine.rb eval$s =%w' b= " BAhsKwG vfg A AAAAA PAAA AIw AA AAA gD8AAAA4 AQA AA Ph 4AAAAcAMAA ICDf wA A AOAGAADA8D8 AAAD wB g AAQPwfAAAA eAY AA E D/AwAAA DgGA AB A fwAAAAA 8DAAA QH 8 AAA AAf BgAABB 3A AAA A PhhAAC OfgAAA A D wgwCA4G 8A

    RubyでうどんげQuine(とAA型Quineの作り方講座) - ぬいぐるみライフ?
  • The Qlobe - まめめも

    RubyConf に参加するためには、やっぱり 山手 quine みたいに東京限定ネタは通じにくいですよね。これからは Quine もグローバルでないといけないと感じました。 でも世界的に有名な環状線とか知らないので、世界的に有名な回るものを書いてみました。 v=0000;eval$s=%q~d=%!^Lcf<LK8, _@7gj*LJ=c5nM)Tp1g0%Xv.,S[<>YoP 4ZojjV)O>qIH1/n[|2yE[>:ieC "%.#% :::##" 97N-A&Kj_K_><wS5rtWk@*a+Y5 yH?b[F^e7C/56j|pmRe+:)B "##% ::##########" O98(Zh)'Iof*nm.,$C5Nyt= PPu01Avw^<IiQ=5$'D-y? "##: ###############" g6`YT+qLw9k^ch|K'),tc 6ygIL8x

    The Qlobe - まめめも
  • Merry Quine-mas - まめめも

    open("/dev/dsp","wb"){|h|s=%q{d=["-KQW[UZbgu*HNT+]TNOOOTZ+cZTUUUUUZbagmssUZbagm ss+wmpgja+KQW[dfnu","-KEKOINV[W*HBH+QHBCCCHN+WNHIIIIINVU[aUUINVU[aUU+YOR[^I+KEK OXZbW","-W[acg vsc*TZ`+eaaaaa--vucavuca+eadsvs+W[dgvrtc","-K991LIL77777dIIIII-- LKKILKKI+Mad[ ^U+K991LHJK"].map{|l|l.unpack("C*").map{|c|[(c/6-4)*12/7-8,"012 35b"[c%6,1]. hex]}*4};y=32.chr;l="@"+[(m="Jnx4sn3sgd1")+"vnqkc!6sgd2Lnqc4gz r4bnld

    Merry Quine-mas - まめめも
  • 山手 quine - まめめも

    t="+,m-n./mAm0o1p23a4q56r7sBt89u-t-1:v;A<w4x=y1z>[?]A^@CD_ CD_EsF`GHmIJbKa*l";eval$s=%w{F=%q{ceY8#<DvO1=x&t9CSOqMYkzH U.kCpz+Vo8hB.1AF&tq21+$/IrMY]U.aDd!-1y!4MMGQm6m?bYh($QMYpX s4g,x1UlbNKH?>NzbisMn?sT@m3,F.Abb`xW!r%'%Ybee>xkUfjf[(*^Nd Xo_"@hQh%Fx*q[iB7EM"suSG8GVOIzceg/O=4CL,d[-k]twgVP`&wcfaT` 2M)j8sFY?(HKzOrVCHO_694[Uq8g @i/i;tMBG#;-;B]rV[])`3'<os^. OV(SA<=ok%m[iV#qt[&dJ7SIdB;/ VUnVIrH;hEJ*QWD"E+

    山手 quine - まめめも
  • qif 画像 - まめめも

    こぴぺ用。 Y,E=%q~260|0!e0*h0($0j0($"!e0($"f0e0($0!e0*p;4f4#.q9!&8*%"1( }+0!,e4|8,e<.%}e6#g4*};!(4*%})2!e09$"u91&(#6}f0(%+#u0)6"1(7, v0.,*%"<8{9!(4+2}!(4*%90}<.'#<(}$"!e0($")n48$6!(0($".!e0($"$ e0w0($")k0r4*%"<8$"!9!&8*%"<0|0($"#&0()0i;f=87$};!(4+6"!e0j; f0(',}91(4+3e0($j;!.8)2}}}}}}},4"!e0($"!2i2!i0)e0e0(#$0($"!e 0(,0}}o0(%2"1(4~,%~y;0('&!e=8}}q9!($"!"<0}}}}}}y0g4f0+2}441$ !}g;0&<}h2$11!{0!q0}h0m0|20!

  • quine リレー - まめめも

    Update (2013-07-15): I improved this program to 50-language version. 50 言語版にパワーアップさせました。 これはこのプログラム自身を出力する Unlambda プログラム、を出力する Whitespace プログラム、を出力する brainfuck プログラム、を出力する Java プログラム、を出力する C プログラム、を出力する Haskell プログラム、を出力する OCaml プログラム、を出力する Lua プログラム、を出力する Perl プログラム、を出力する Python プログラム、を出力する Ruby プログラム、です。 # ruby l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t .s

    quine リレー - まめめも
  • qng 画像 - まめめも

    こぴぺ用。 eval s=%q(require"zlib";include Zlib;f=Inflate.inflate(*"eNq 1VomxQyEIpAP675IOiAjqIvqS/INh3hh1dTkN0c+FOfR5j6r4Nh98cT6xSIf Yl4WEfi92mn1Q7WCOxRijCiXWjUfjo/Y9MBLTZqkP3sh2chfDfiKSrxxUcRg Wa6dsfMUHbSZxkAAGHFYd202KM5EerlI9uQHU4i499MPXy0yJA0/YdR1Vzp3 DbjIVe/mEhclA8rdpJU/hexb33qch/hNxK71Uh+3AJ2ZwUHw1UyNHwX6P1LI SJTQL4yslc+qq0OleFggW1F9QlTlGLN3zmVS2ZbTXrZCezjKsy45MqoWVsmk I+rktkSxh05qTU3O2Y4xuvppRSL6

  • Q(uine)R(uby) code - まめめも

    RubyKaigi でこっそり (?) 発表したものを再掲。 読み込んでみる *1 。 $ java -classpath classes example.QRCodeDecoderCUIExample quine-ruby-code.png > quine-ruby-code.rb [Success] quine-ruby-code.png Processed 1 images in 1050ms (1050 images/sec) OK: 1 NG: 0quine-ruby-code.rb はこんなの。 #!ruby # Q(uine)R(uby)code (C) Y.Endoh 2009 eval s=%q(X=(0..7).map{|i|1<<i};W=116;m=(1..w=117).map{[]};B=999.times{|i|X<<( X[-4]^X[-5]^X[-6]^X[

  • quineclock - まめめも

    時計の絵をかいたら時計になるなんて、Ruby はとっても宣言的な言語ですね! eval s=%w(0;y=""< <32;z="eval((;s=%w(#{s} )*''));; %" <<43<<s; d="";" 0v vvnvn2 mj4kil 0v lvvul2 6l94ol 0v lv7vv" .scan (/ .{7}/ ){|n| 2. times {d.< <T ime. now. to_s.unpack(" C*") [11, 8].map{|i|("% 03b" .%7&n .to_i (32)> >3*i- =48).g sub(/. /){s>$ &?y*3: z.slic e!(0,3 )}}*y<<1 0}};puts (d.strip.chop<<43))*''# #(c) Y.Endoh 2009こんな風に実行します。ruby 1.8 でも 1.9 でも動く

    quineclock - まめめも
    youz
    youz 2009/01/07
    変身したwww面白過ぎるwww
  • 1