タグ

ブックマーク / keyesberry.hatenadiary.org (5)

  • 10のチェスクイズでRubyの配列組み換えメソッドを覚えよう! - 10 Chess Quizzes to know Recombination Methods of Ruby Array - hp12c

    Rubyには与えられた配列を別の配列のかたちに 組み換えるようなメソッドがいくつかあるよ それらはすごく便利だけど リファレンスでは別々に説明されてるから まとまった知識としてはちょっと記憶しづらいよね 1つのテーマに沿って それらのメソッドが解説されていたら もう少し理解が進む気がするんだ そんなわけで.. 3x3のミニチェスボードをテーマとして Rubyの配列メソッドを使って簡単に解ける チェスクイズを10問作ってみたよ 最初に問題をまとめて書いて 解答例は下の方に置くから 時間のある人は解答例を見ないで 挑戦してみてね:) さあ始めるよ ----------------------------- 問 題 ----------------------------- Q1. [0, 1, 2]の配列を基に、座標[0, 0]から始まる3x3のチェスボードの座標リストboardを作りなさい

    10のチェスクイズでRubyの配列組み換えメソッドを覚えよう! - 10 Chess Quizzes to know Recombination Methods of Ruby Array - hp12c
  • Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! : melborne.github.com - Ruby クロージャ - ソースコード備忘録を読んで 自分のRubyにおけるブロックと変数の理解が怪しいことがわかった でちょっと普通とは違うアプローチからの整理を試みて 理解できた気がするので書いてみます 誤りを教えてくれればうれしいです ローカル変数 プログラムコードはプログラマの意思をインタプリタに伝えるものだ Rubyでは オブジェクトに処理を依頼する形でプログラムを組成するけど そのとき変数はプログラマが 対象のオブジェクトを指し示すためのラベルとして用いられる すなわち変数はオブジェクト参照ラベルだ 複数の手続きブロッ

    Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! - hp12c
    suginoy
    suginoy 2014/11/11
  • 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 知って得する21のRubyのトリビアな記法: melborne.github.com - ちょっとトリビアだけど 知っていると意外と便利なRubyの記法を 21個拾ってみたよ(Ruby1.9限定) 君なら全部知ってるかもしれないけど.. 1. 動的継承 Rubyのクラス継承では < 記号の右辺に クラス定数だけでなくクラスを返す式が書けるよ class Male def laugh; 'Ha ha ha!' end end class Female def laugh; 'Fu fu fu..' end end class Me < [Male, Female][rand 2] end Me.superclass # => Female Me.new.laugh

    知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby - hp12c
    suginoy
    suginoy 2012/07/11
  • Rubyで序数を生成する - hp12c

    id:Naruhodiusさんに倣って僕もやってみました:) class Integer def ordinalize suffix = if (fd=abs%10).between?(1,3) && !abs.between?(11,13) %w(_ st nd rd)[fd] else 'th' end "#{self}" + suffix end end (-25..25).map(&:ordinalize) # => ["-25th", "-24th", "-23rd", "-22nd", "-21st", "-20th", "-19th", "-18th", "-17th", "-16th", "-15th", "-14th", "-13th", "-12th", "-11th", "-10th", "-9th", "-8th", "-7th", "-6th", "-5th",

    Rubyで序数を生成する - hp12c
    suginoy
    suginoy 2012/04/24
    ordinalize
  • Ruby、同じことの繰り返しは君に任せるよ 〜 再帰でハノイの塔を解こう!〜 - hp12c

    もし問題が同じパターンの繰り返しを含んでいて その極限の解が明らかならば その問題の解決には再帰が使えるかもしれない 再帰はある問題の答えの中にその問題自体を含む不思議な構造だ 「GNU」は「GNU's Not UNIX」の頭文字からなる略称だ ここで「GNU」は問題であり その答え「GNU's Not UNIX」の中に問題自体が含まれている だからGNUは明らかに再帰だ 「これじゃ答えになってない」 「つまり再帰は問題解決の役には立たない」 そういう声が聞こえてきそうだ つまりあなたは「GNU's Not UNIX」が 「(GNU's Not UNIX)'s Not UNIX」になることを知っており 「((((GNU's Not UNIX)'s Not UNIX)'s Not UNIX)'s Not UNIX)'s Not UNIX」になることも知っており したがって”どこまで行っても望

    Ruby、同じことの繰り返しは君に任せるよ 〜 再帰でハノイの塔を解こう!〜 - hp12c
  • 1