タグ

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

  • Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について

    ─ 問題1 ─ data.csvファイルには、5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をプレイした結果が次のような形で格納されている。各ゲームの平均点を求めよ。 data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80

    iga_k
    iga_k 2014/05/25
    便利〜!
  • Macのターミナルで〇〇が降る

    (追記:2014-5-6) let_it_fallをバージョンアップしました(version0.1.2)。 Macのターミナルでマトリックス? 取り急ぎ、「Macのターミナルで〇〇が降る」をgem化しましたので、お知らせ致します。 let_it_fall | RubyGems.org | your community gem host melborne/let_it_fall 使い方 Macのターミナルを開いて、gem install let_it_fallと打ってインストールします。 インストールができたら次のように打ちます。 $ let_it_fall beer 終了はCtrl-cです。 $ let_it_fall moneys とかすると幸せになれるかもしれません。 $ let_it_fall help で使えるコマンドが表示されます。お腹が空いたらfoodしてください。perl,

    Macのターミナルで〇〇が降る
    iga_k
    iga_k 2014/05/01
    あくまでbeerには頼らないところに漢気を感じます!
  • 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を制す(嘘)
    iga_k
    iga_k 2014/04/30
    わかりやすくて勉強になった〜!
  • Macのターミナルで顔が降る

    (追記:2014-5-1) 機能をgem化しました。詳しくは以下の記事で。 Macのターミナルで〇〇が降る 辛いことがあったときに、どうぞ。 ruby -e 'C=`stty size`.scan(/\d+/)[1].to_i;S=[*0x1F600..0x1F640];a={};puts "\033[2J";loop{a[rand(C)]=0;a.each{|x,o|;a[x]+=1;print "\033[#{o};#{x}H \033[#{a[x]};#{x}H#{S.sample.chr("utf-8")} \033[0;0H"};$stdout.flush;sleep 0.2}' 1KtIS9iinH.gif - Gifzo 参考記事: Let it Snow in the Terminal of Mac OS X with This Command 「Macのターミナルで雪が

    iga_k
    iga_k 2014/04/30
    なごむw
  • 落ちていくRubyistのためのMethopオブジェクト

    RubyistはどんどんLazyになっていってmapにブロック渡すのも面倒という古今です。 こう書けばいいところを、 %w(ybur si citsatnaf egaugnal).map { |str| str.reverse } # => ["ruby", "is", "fantastic", "language"]

    落ちていくRubyistのためのMethopオブジェクト
    iga_k
    iga_k 2014/04/20
    あるあるw
  • Jekyllのコードシンタックスハイライトで言語ごとに色を変える

    Twitterで@igaiga555さんと、Jekyllのコードシンタックスハイライトで言語ごとに色を変えられないかという話をしました。 で、僕が指定した変更先がちょっと間違っていて、それを訂正すると共に改めてもう少しマシな方法を考えましたので、ここに書き残しておきます。 ひな形を用意 ここではjekyll newコマンドでひな形を作ります。 % jekyll new myblog New jekyll site installed in /Users/keyes/Dropbox/playground/myblog. % cd myblog % tree . ├── _config.yml ├── _layouts │   ├── default.html │   └── post.html ├── _posts │   └── 2014-04-12-welcome-to-jekyll.m

    Jekyllのコードシンタックスハイライトで言語ごとに色を変える
    iga_k
    iga_k 2014/04/13
    いろいろ教えてもらった。ありがたや。
  • 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

    iga_k
    iga_k 2014/03/31
    こんな便利情報が!
  • RubyによるMarkdownをベースにしたEPUB電子書籍の作り方と出版のお知らせ

    「情報革命」とは何でしょうか。それはネットを介した大量情報の流入による社会生活の変化の連続のことです。情報革命の初期に始まる一つの変化は「見る変化」です。情報を最も効率的に処理できる人間の入力デバイスは「目」であり、そのための環境作りがまず構築されるでしょう。 スマートフォンが携帯電話を駆逐したのは、iPhoneのデザインが素晴らしかったからではありません。人々が大量の情報を処理するためには、非効率な「耳」デバイスを置いて、より効率的な「目」デバイスを活用する必要があったからです。 7インチタブレットの新製品投入が相次いでいます。これは何を意味し、何を駆逐するのでしょうか。そのフォルムを見れば答えは明らかでしょう。それはまさに「書籍」なのです。7インチタブレットは「アトムの読書」を「ビットの読書」にすべて置き換えようとしています。 スマートフォンは、話し言葉を文字化して見るためのデバイスと

    iga_k
    iga_k 2014/03/16
    便利情報!
  • Ruby、君のオブジェクトはなんて呼び出せばいいの?

    Rubyには大量のメソッドがあります。次のコードでRuby1.9.3に含まれるメソッド数を数えたら単純合計で1659個、ユニーク数(同名を1と数えて)で937個と出力されました。 all_methods = ObjectSpace.each_object(Module).flat_map do |c| c.methods(false) + c.instance_methods(false) end.reject { |m| "#{m}".start_with? '_deprecated' } all_methods.size # => 1659 methods = all_methods.uniq methods.size # => 937 つまりRubyには、937個もの異なる名前のメソッドがあるのです。各メソッド名は、その動作や機能を端的に表現したものでなければならないので、その一つ一

    iga_k
    iga_k 2012/07/17
    これは面白いなぁ。
  • 1