タグ

ブックマーク / melborne.github.io (9)

  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
  • Ruby製サードパーティライブラリgemのトレンドを知るには「BestGems.org」がベスト

    ─質問1─ Ruby製サードパーティライブラリ、要はgemで、何が人気なのかってこと、手っ取り早く知りたいんですけど。 ─回答1─ RubyGems.orgのstatsページを見てください。 ─質問2─ えっ?これだけ?この辺は万年上位で固定でしょ。もうちょっと俺の知らないバラエティに富んだものに出会いたいんだけど。俺、Rails用ないし。 ─回答2─ カテゴリー別ならThe Ruby Toolboxがあります。 The Ruby Toolbox - Terminal Coloring ─質問3─ あんた、俺の質問ちゃんと聞いてるの?カテゴリー別なんて言ってないし。それに、ここのカテゴリーってなんか俺的に信用ないんだよね。取りこぼし多いっていうか..。俺のgem出てこないっていうか..。 ─回答3─ GitHubTrendingでここ最近の人気リポジトリが分かります。 Trending

    Ruby製サードパーティライブラリgemのトレンドを知るには「BestGems.org」がベスト
  • チリドッグでRubyのヒアドキュメントを良くしよう!

    プロジェクト体でヒアドキュメントを使うことはそんなに多くはないんですが、これがテストでは意外と使われるということがわかってきまして。そうすると、どうしてもこの醜さには耐え難いものがあるんです。 describe ATool::CLI do before do @expected = <<-EOS Hello, Ruby! I'm Here with Dog! Where are You? EOS end ... end

  • 行指向ドキュメント処理で活躍するRubyのだんご化3兄弟といったら...

    Rubyにはアクセスログのような行指向ドキュメントなどを、任意の条件で複数の束にまとめ上げる便利なEnumerableのメソッドが3つあります。group_by, chunk, そしてslice_beforeです。これらはRubyの「だんご化3兄弟」としてRubyistの間で広く知られています1。 簡単に言えばこれらのメソッドは、行単位のデータに対し以下の処理を実現するものとして表現できます。 group_byは、同一条件の行を総まとめするメソッド。 chunkは、同一条件の行を部分まとめするメソッド。 slice_beforeは、指定行を先頭に後続行を部分まとめするメソッド。 (もちろん、これらのメソッドは行単位データ以外のEnumerableなデータに適用できます。) group_by instance method Enumerable#group_by 最も直感的なメソッドはgro

  • Jekyllいつやるの?ジキやルの?今でしょ!

    す、すいません… ベタなタイトルで…。 Jekyll Version 1.0 2013年5月5日にJekyllのVersion 1.0がリリースされました。 Jekyll • Simple, blog-aware, static sites Jekyll 1.0 Released - Musings of Parker J. Moore 2011年12月のVersion0.11.2以降、Jekyllの開発は停滞気味でした。しかし、parkr (Parker Moore)氏がJekyllのcontributorとして参加したことを機に、昨年12月15日頃から新たな胎動が始まり、同22日に大きな問題を解決したVersion0.12.0がリリースされました。その後も怒涛の勢いでコミットが投げられ、遂に、5月5日にVersion 1.0がリリースされたのでした。GithubにおけるCommit A

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

  • Rubyでオブジェクトの特徴的なメソッドを知りたい

    オブジェクトがどんな挙動をするのか、つまりそのオブジェクトの特徴的なメソッド群をさっと知りたいとします。そんなとき自分はObject#methodsを呼びます。 irb> [1,2,3].methods => [:inspect, :to_s, :to_a, :to_ary, :frozen?, :==, :eql?, :hash, :[], :[]=, :at, :fetch, :first, :last, :concat, :<<, :push, :pop, :shift, :unshift, :insert, :each, :each_index, :reverse_each, :length, :size, :empty?, :find_index, :index, :rindex, :join, :reverse, :reverse!, :rotate, :rotate!, :s

  • 更にもう一つの「るりま」の入り口 ─ Rbref

    - Q1 - Rubyのメソッド調べるのにいつも「るりま」開くんだけど、なんかいつもどこから辿って行ったらいいか迷うんだよね、オレ。階層が深いってか、全体構造が見えないってか。なんかこうもっとサクッと目的のメソッドに到達したいんだよ。 - A1 - コマンドラインツールなら標準添付の「ri」とか、日語対応の「ReFe」とかを使って下さい。Webツールなら「るりまサーチ」があります。 - Q2 - いやいや。あんたらみたいにメソッド名がちゃんと頭に入ってんなら苦労しないっすよ。どっちかっていうと、「文字列の前に文字列追加するやつなかったけ?」とか「2つの配列をインデックスの組の配列に組み替えるやつ、何て言ったっけ?」みたいな。こないだなんか、エラーの「rise」に結局たどり着けずじまい。オレが求めてるのはもっとオレ向け、要は素人向けのやつってことですよ。 - A2 - 「Ruby Refe

    mieki256
    mieki256 2013/08/26
    「『文字列の前に文字列追加するやつなかったけ?』→ つRuby Reference Index」…問いに対する答えになってない、と初心者の自分は思いました
  • 30分のチュートリアルでJekyllを理解する

    (追記:2013-05-20) 記事はJekyllバージョン0.12.0に対応しています。Jekyllバージョン1.0のリリースに伴い、記事を改訂した記事を投稿しましたので、最新版に対応したチュートリアルについてはそちらを参照下さい。 “Jekyllいつやるの?ジキやルの?今でしょ!” (追記:2012-12-07) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、メディア向けの調整および誤記の修正を行っています。 電子書籍「30分のチュートリアルでJekyllを理解する」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になりま

  • 1