タグ

2013年12月8日のブックマーク (3件)

  • 文字列の差をから共通部分を&で求めてみる String#& - それマグで!

    文字列を頭から比べて、同じところだけを取出したいとき "/home/takuya/2010-09-10" & "/home/takuya/test.rb" #=> "/home/takuya/" のようなことがしたいわけです.何に使うか分らないけど,URLの共通部分や,ファイルのパスの頭の部分で一致する箇所を調べたいわけです URLの共通部分を求める "http://d.hatena.ne.jp/takuya_1st/archive?word=ruby" & "http://d.hatena.ne.jp/takuya_1st/searchdiary?word=ruby" #=> "http://d.hatena.ne.jp/takuya_1st/" とかで一瞬にしてディレクトリを共通部分を見つけるとか 適当なファイル名をなんとかする "httpd.conf.test.bak" & "htt

    文字列の差をから共通部分を&で求めてみる String#& - それマグで!
    sinamon129
    sinamon129 2013/12/08
    “"httpd.conf.test.bak" & "httpd.conf.bak.2011-09-10" & "httpd.conf"”
  • Rubyのinjectが便利な件 - mic_footprints

    injectが便利なので、使い方をまとめてみた 使い方 引数で初期値を指定 ブロックの返り値が、ブロックの第一引数に代入 使用例(Array) 今までだと、 hoge = [1, 2, 3, 4, 5] sum = 0 hoge.each{|i| sum += i} sum #=> 15 と書かなければならなかったものが、 hoge = [1, 2, 3, 4, 5] hoge.inject(0){|sum, i| sum += i} #=> 15 使用例(Hash) ほとんどArrayに同じ hoge = {:a => 1, :b => 2, :c => 3, :d => 4, :e => 5} hoge.inject(0){|sum, pair| sum += pair[1]} #=> 15 # この場合、pairに[:a, 1]などが代入される まとめ ブロックの返り値が第一ブロック

    Rubyのinjectが便利な件 - mic_footprints
  • YOUたち!RubyでinjectしちゃいなYO!

    プログラミングの存在価値は処理の自動化です。任意の集合に対して処理を繰り返しその結果を返す、それがプログラムです。つまり集合に対して処理を繰り返す能力が、プログラムの価値を決定付けるのです1。 「手続き型言語」ではループが処理の繰り返しを実現するための重要な手法の一つです。しかしループは、一時変数を用意してプログラマがループの進行を管理しなければならない、という欠点があります。そしてその管理ミスがバグとなります。 「関数型言語」では再帰が処理の繰り返しを実現するための重要な手法の一つです。再帰では再帰の進行はその構造に基づいて自動的になされるので、プログラマがそれを管理する必要はありません。しかしその一方で、処理が多段階に渡る立体的なものとなるので、その動作の理解が平面的なループ処理に比べて難しいという欠点があります。習得には慣れが必要です。 Rubyは、手続き型言語と関数型言語の両方の側