タグ

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

  • RubyのHashの秘密

    このHashは普通のHashのように使えるんだけど、そこに機密情報をセットするためのHash#secret=というメソッドを追加するんだ。 h = {} h[:name] = 'Charlie' h[:job] = 'Programmer' h # => {:name=>"Charlie", :job=>"Programmer"} h.secret = 'My-password123' # 機密情報をセット!

    riocampos2
    riocampos2 2014/06/11
    喧伝してるというか、木を隠すなら森の中というかw|RubyのHashの秘密
  • 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を制す(嘘)
    riocampos2
    riocampos2 2014/04/28
    以前&について考察したけど、そのことが載っていて何故か嬉しくなりw RT @merborne: [proc]ブログを書いたよ! #ruby / “Procを制する者がRubyを制す(嘘)”
  • 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

    riocampos2
    riocampos2 2014/01/20
    たしかにこれは強力。csvを扱うときは覚えておこう。 Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について
  • 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

    riocampos2
    riocampos2 2013/09/26
    面白い拡張でした^ ^ RT @merborne: ブログを書きました。#ruby / “Rubyでオブジェクトの特徴的なメソッドを知りたい”
  • ええ、ハッキリ言います。私はRubyのArray#unshiftが嫌いです。

    numbers = [3, 4, 5] numbers.push(6, 7, 8) # => [3, 4, 5, 6, 7, 8] numbers << 9 numbers # => [3, 4, 5, 6, 7, 8, 9]

    riocampos2
    riocampos2 2013/09/03
    unshiftって名前は元々イケてないしね。_.>>の代わりにhead.toとかでも良いねw でも<<との対称性を重んじようw|ええ、ハッキリ言います。私はRubyのArray#unshiftが嫌いです。
  • 一生涯はてな記法しますか?それともMarkdownしますか?

    はてなダイアリー はてなダイアリーでははてな記法という、HTMLの簡略記法が使えます。この記法を利用することで簡単に整形された日記を書くことができます。私も6年間はてなダイアリーと、はてな記法のお世話になりました。 しかしはてな記法は、はてな独自の簡略記法なので他では使えません。従って一つの不安がよぎります。 この先もし10年、20年とブログを書き続けるとしたら、それははてな記法でいいのかと。 はてなダイアリーには別の不満もあります。次のようなものです。 HTML整形後の文章をローカル環境で確認できない。 記事に変更が生じてWeb上で直接編集した場合に、ローカルデータと内容が不一致となり、その管理が煩雑となる1。 あんなにサンプルがあるのに、イケてるデザインが見当たらない2。 基的にサイトが重い。 Github Pages + Jekyll そんな理由から私はGitHub PagesとJ

    riocampos2
    riocampos2 2012/05/06
    めもRT @mihajlovic11: “一生涯はてな記法しますか?それともMarkdownしますか?”
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

    riocampos2
    riocampos2 2012/04/11
    非常に丁寧な入門。
  • 1