タグ

ブックマーク / mametter.hatenablog.com (8)

  • Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも

    と思いません? def foo(x) end foo(1, 2) #=> wrong number of arguments (2 for 1) (ArgumentError) 1.step(10, 0) { } #=> step can't be 0 (ArgumentError) a = []; a << a a.flatten #=> tried to flatten recursive array (ArgumentError) 確かにどれも Argument に関する Error ではあるんだけど *1 、全部同じ例外クラスというのは粗すぎですよね。メッセージ読めば意味はわかるからデバッグには困りませんが、ArgumentError の中の特定の例外だけ拾いたいときに困ります。 具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arg

    Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも
    kabiy
    kabiy 2012/02/11
    / Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも
  • 空中 Quine (空中に自分自身を出力するプログラム) - まめめも

    何を言っているかわからないと思いますので、まずは動画を見てください。 つまり、LED の残像として空中に自分自身を「出力」するプログラム (+回路) です。こんな風に空中に字を描くのを POV (Persistance of Vision = 残像) とか Light writing とか言うらしいですね。やることは LED 光らせるだけなのに、やってみるとかなり楽しい。 というわけで、最近 Arduino とかいうマイコンで遊んでます。アナログ電気回路の知識は中学生レベル *1 ですが、USB で PC に繋いで IDE の upload ボタンを押すだけで C プログラムをマイコン上で実行できるので、まあそれなりに遊べます。 最初に作るのは当然 Quine なわけですが、シリアル通信で Quine 出力するのは既出だったので、ちょっと凝ってみました。もっと読みやすいコードにしたかったの

    空中 Quine (空中に自分自身を出力するプログラム) - まめめも
    kabiy
    kabiy 2012/02/04
    頭おかしい /
  • RubyKaigi 2011 終了 - まめめも

    参加してました。コミッタ特権でタダ飯をらえるのも残念ながら最後です。 今まではマジタダ飯にならないように何かしら発表することを心がけてたんですが、今回はネタ準備できず、ついに聞くだけ。"1.8 and 1.9" でちょびっとだけ壇上出たけど、その分弁当もらってしまったし。申し訳ない。なのでせめて見た発表ごとの一言感想を書きました。最後に。 そして Ruby とかなり関係ない Alloy は、ジュンク堂出張店で販売していただき、個人的な予想をはるかに上回る人数 (予想 1 桁、結果 2 桁) に汚い字でサインさせていただきました。ありがとうございます!おまえら買ったばかりのを汚していいのか!ちなみにサインは実行可能な Quine になっています。typo してなければ RubyKaigi 中のコミッタの行動にプライバシーはないと思うので、サインさしあげたコミッタだけ晒すと mrkn さ

    RubyKaigi 2011 終了 - まめめも
    kabiy
    kabiy 2011/07/19
    RubyKaigi 2011 終了 - まめめも
  • 「抽象によるソフトウェア設計」が発売されます - まめめも

    来週には RubyKaigi ですが、Ruby とは全く関係ない話題。 半年前にレビュワーを募集していた Software Abstraction 翻訳ですが、とうとう発売されることになりました。今月中旬には書店に入るはずで、今日私の手元にも見が届いたところです。みんな各自 100 冊くらい買ってください。 抽象によるソフトウェア設計−Alloyではじめる形式手法−posted with amazlet at 11.07.08Daniel Jackson オーム社 売り上げランキング: 35132 Amazon.co.jp で詳細を見る↑アフィリエイト注意。みんな絶対クリックするなよ! Alloy とかいう形式手法の教科書です。Alloy でソフトウェアの仕様を形式的に記述して検証とかして、上流設計をうまいことこなしてください。 有界モデル検査とか言うと敷居が高く聞こえるかもしれません

    kabiy
    kabiy 2011/07/09
    「抽象によるソフトウェア設計」が発売されます - まめめも
  • 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 リレー - まめめも
    kabiy
    kabiy 2011/07/07
    Hacker NewsにQuineの記事がでててひらいてみたらまめめもだった.ですよねー.まめめも世界デビュー. / 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 - まめめも
    kabiy
    kabiy 2011/04/13
    すごい / Quine ruBy - まめめも
  • あけましておめでとうございます 2011 - まめめも

    古来より日のプログラマの間には、「正月はフラクタル」という風習があります。 フラクタルについて、知識としては知っていても、実際にプログラムを書いたことはない人も結構いると思います。そんなフラクタルに、年に一度くらいは想いを馳せたり、手を動かしたりしてみよう、という風習です (去年の例: (1) (2)) 。 ちなみになぜ正月かと言うと、毎日と毎年が自己相似して末永く平穏に暮らせることを祈念するとか、もちに生えたカビがマンデルブロ集合に見えたとか、門松が L-system を想起させたとか、諸説ありますがわかっていません。 今年はコッホ曲線してみました。難読化などはしませんでした。 R3 = Math.sqrt(3) AA = " _,_ _,_..,_wypy _,_>qjgrq,gwamg _;_~ypyrrrLmmmy~~~g~qmgrmpgmmmm _,_\ ],_..,_4ZZy

    あけましておめでとうございます 2011 - まめめも
    kabiy
    kabiy 2011/01/01
    最後にArgumentErrorがでるのどうにか
  • RubyKaigi 2010 終了 - まめめも

    参加してました。 「超絶技巧 Ruby プログラミング」の発表資料と、発表で使ったソースコードを以下に置いておきます。 ref: http://dame.dyndns.org/misc/rubykaigi2010/rubykaigi2010-endoh.ppt ref: http://dame.dyndns.org/misc/rubykaigi2010/rubykaigi2010-endoh.zip 追記: slideshare にもアップロードしました。でも一部崩れてるので、なるべく ppt でご覧ください。 @mrkn さんに「pdf に直してからアップロードすればよい」と教えてもらいました! 超絶技巧 Ruby プログラミング - Esoteric, Obfuscated Ruby ProgrammingView more presentations from mametter. 動

    RubyKaigi 2010 終了 - まめめも
    kabiy
    kabiy 2010/08/30
    頭おかしい...
  • 1