タグ

rubyに関するyorisiloのブックマーク (40)

  • Ruby block/proc/lambdaの使いどころ - Qiita

    (2015/10/13追記) 今なら、他言語には無名関数やcallback関数というものがありますねとか、イベント駆動の世界を覗いてから戻ってくるとより腑に落ちるかもしれませんとか、もう少し全体観の中で説明する気がしますが、当時は記事の様な理解が役に立ったことは事実なので、引き続き公開を続けます。 (2013/11/29追記) block_given? について Twitter上で「Kernel.#block_given?についての解説があってもよさそう」と 指摘を頂きましたので、文下部に追記しました。 概要 Ruby on Rails Tutorialのエッセンスを自分なりに整理してみる4 Railsを触る際知っていると便利なRubyの基礎 [ブロックとかシンボルとか] http://qiita.com/kidachi_/items/46a6e49b6306655ccd64 の続き。

    Ruby block/proc/lambdaの使いどころ - Qiita
  • RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ

    技術部の小野(@taiki45)です。この記事では簡単なアプリケーション(ブログシステム)の実装を通して、クックパッドで作成・使用しているライブラリのGarage の紹介と Garage を使った RESTful Web API の開発をご紹介したいと思います。 Garage は RESTful Web API を開発するための、 Rails gemified plugins です。Rails プログラマは Garage を使って Rails を拡張することで素早く Web API を開発することができます。Garage は新しくアプリケーションを開発する場合にも、既存の Rails アプリケーションに組み込んで Web API を実装する場合でも使用できます。Garage はリソースのシリアライズやアクセスコントロールなど Web API の実装に必要な機能をカバーしています。 Ruby

    RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ
  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

  • ruby は メソッドに return が不要なのではなく、元々そうなっているだけ - MUGENUP技術ブログ

    皆さん、こんにちは。MUGENUP の osada です。 いきなりですが、問題です。 def if_expression(flag) if flag "NG" else "OK" end end Ruby は 最後に評価された値が返る と言われていますね。 では、上記のメソッドで if_expression false の返り値は、何ですか? はい、正解です。OKが返ってきますね。 ちょっと長いので、リファクタリングしましょう。 def if_modifier(flag) "OK" "NG" if flag end さてもう一度。 if_modifier(false) の返り値は、何ですか? Ruby は 最後に評価された値が返る と言われていましたよね? はい。正解です。nil が返ってきますね。 え、"OK"じゃないのかって? いいえ、後置if は if とは全く違います。 右辺の条

    ruby は メソッドに return が不要なのではなく、元々そうなっているだけ - MUGENUP技術ブログ
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
  • ブロックなしRubyをやろうとすると関数型プログラ…うーんリストプロセッ、えーと感じ感じ - Qiita

    ブロックなしRubyをやることでRubyを関数型言語、というかLispっぽくやっていくことについて考えてみます。なお筆者はLispあんまり詳しく無く、「リストに対する操作の適用をネストさせてなんかいい感じにするやつ」くらいの認識で言いました、ごめん。 ブロックなしRuby初級 xs = %w`akechi kokoro itoh chika ayase ena koshimizu sachiko` xs.map{|it|it.capitalize} #=> ["Akechi", "Kokoro", "Itoh", "Chika", "Ayase", "Ena", "Koshimizu", "Sachiko"]

    ブロックなしRubyをやろうとすると関数型プログラ…うーんリストプロセッ、えーと感じ感じ - Qiita
  • RSpecによるユニットテストの書き方 – recompile.net

    最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめに ごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと、次のようなテンプレー

    RSpecによるユニットテストの書き方 – recompile.net
  • Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ!

    Ruby クロージャ - ソースコード備忘録を読んで、自分のRubyにおけるブロックと変数の理解が怪しいことがわかった。で、ちょっと普通とは違うアプローチからの整理を試みて、理解できた気がするので書いてみます。誤りを教えてくれればうれしいです。 ローカル変数 プログラムコードはプログラマの意思をインタプリタに伝えるものだ。Rubyではオブジェクトに処理を依頼する形でプログラムを組成するけど、そのとき変数はプログラマが対象のオブジェクトを指し示すためのラベルとして用いられる。すなわち変数はオブジェクト参照ラベルだ。 複数の手続きブロックで構造化される現代のプログラミングにおいては、1つの変数の適用範囲はそれが定義されている手続きブロックに限定されるのが普通だ。 Rubyにおいてメソッド定義はこの手続きブロックを新たに作る。だから以下の例でcounterメソッド内の変数nは未定義となる n =

  • Pryが真の力を発揮してくれる19個のコマンドとコマンドの自作方法[Rails]

    開発の効率を大きく向上してくれるgem Pryをさらに使いこなすための便利なコマンド19個をまとめてみました。標準のコマンドをしっかり理解してPryの使いこなしを目指します! (04/16 20:55) オススメの記事を追加その2 🎃 オススメ記事Pry の簡易的なコマンドまとめ Pryの設定ファイルや、関連Gemの簡易的なコマンドをまとめてくれている記事。この記事をひととおり読んだあとに、設定をいじると捗るかも! Rails4 今のところ最強なデバッグツール達 開発やテスト環境で使っているGemfileの紹介。pryについてもかなり丁寧に書かれています! Ruby 2.1の基構文/基文法まとめ&Pryの使い方 オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法をゼロから学ぶための入門連載。 🐞 (1) helphelpはコマンドの一覧と英語での説明を表示してくれ

    Pryが真の力を発揮してくれる19個のコマンドとコマンドの自作方法[Rails]
  • 資料集 | Lightweight Language Future

  • LLFutureにてNarioを発表してきました - I am Cruby!

    llfuture, Narioタイトル「私は如何にしてNarioを作り、一面をクリアしたか: authorNari(ネットワーク応用通信研究所)」 見ていただいた方はありがとうございました。ゲーム中は興奮してしまって、はしたない声をあげてしまいました。恥ずかしい。(やべー、よしよし! など)  動画Youtube版 ニコニコ版  資料資料集 | Lightweight Language Futureをどうぞ  合言葉的なもの = grep して... カタカタカタカカタ ( ゚д゚) (_/ ̄ ̄/_ = 置換! /\ / /| ∴\// _,,_゚∵|/ (ノ゚Д゚)ノ /  /  ̄ ̄ ̄ ̄ ̄ ̄ = grep して... カタカタカタカカタ ( ゚д゚) (_/ ̄ ̄/_ = 置換! /\ / /| ∴\// _,,_゚∵|/ (ノ゚Д゚)ノ /  /  ̄ ̄ ̄ ̄ ̄ ̄ スタッフの方へ謝辞スタッフ

  • そのto_a、必要? - Qiita

    number_strings = (1..10).to_a.map{|n| n.to_s } p number_strings #=> ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] number_strings = [] [*1..10].each{|n| number_strings << n } p number_strings #=> ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] とかやってませんか? 配列を作ってすぐにmapとかeachとかselectするような場合、同じメソッドがRangeにもあるので、to_aは要らない。 「ArrayとRangeの両方にあるメソッド」は次のような式を実行することで列挙できる。 p ((1..10).to_a.methods & (

    そのto_a、必要? - Qiita
  • Ruby 周辺技術用語集 - 君の瞳はまるでルビー - Ruby 関連まとめサイト

    Heroku Ruby 界で有名な PasS である。 Rack に対応した Web アプリケーションのプラットフォームとして利用できる。 heroku 上では 1 プロセスに相当する単位を特別な用語を使い 1 dyno と呼ぶ。 以下の手順を踏んでサービスにアクセスできるようにする。 「Heroku を始めよう!」の 1 ~ 3 を参考に、サインアップ/ツールインストール/ログインする。 gem install heroku を実行する。 サービスへのアクセスは基的に heroku コマンドで行う。 Web 管理画面からリソースにアクセスもできる。 基的な考え方は以下の通り。以下を実現する Heroku の実行基盤をランタイムスタックと呼ぶ。 Git でアプリケーションのソースを管理する。 Bunlder で依存する gem を管理する。 Foreman で実行するアプリケーションの

  • Sinatraメモ - Qiita

    Sinatraとは Rubyで計量Webアプリケーション DSL(Domain Specific Language) Sinatraをさっさと使ってみよう インストール

    Sinatraメモ - Qiita
  • .irbrcの設定を見直した

    rubyのインタプリタはpryじゃなくてirbを使ってます。 ruby触り始めた頃は、pryを紹介されたのでそっちを使っていたんですが、irbも結構カスタマイズ出来るし別にpryをわざわざインストール必要も無いかな、と思って使わなくなりました。 binding.pryを使うようなケースも普段は無いし、あとPygmentsのレキサが何故かirbに対応しているので、codeblockとして貼り付けやすいのも嬉しい。 ただ、最近全然.irbrcの手入れを全然していなくて、いつの間にかいろいろ動かなくなっていた(ちゃんと管理してなかった)ので、これだけあれば充分かなあという設定で見直してみました。 # readline require 'readline' IRB.conf[:USE_READLINE] = true # completion require 'irb/completion' #

  • Ruby 2.x.x 入門 -そう、pry ならね。- - fugafuga.write

    前回、Rubyの基礎を学習するために、対話型実行ツールの irb が使えるということで、 irb について調べていたところ、より洗練されて多機能であるツールがあるという情報をgetしました。 その名も pry 環境:Mac OS X 10.9.4 pry とはなんぞや irb よりも多機能な対話型ツール。 発音は、「ぷらぁい」 対話型ツールのことをREPLというらしい。 ちなみに、pry の意味は、"覗く"とか"詮索好きな"とか、"てこ"(テコの原理)の意味がある。 pry の Git公式ドキュメントのトップ絵は確かにてこっぽい。 pry を使うとこんなことができる シンタックスハイライトしてくれる。 パッとコード補完してくれる。 ドキュメントをスッとブラウズできる。 gemRubyの内部のコードをサッと読める。 コマンドシェルでスッとエディタ起動をしたりできる。 Gistと連携できる。

  • utility_beltでwirble以上にirbを拡張する

    はじめまして。 KBMJでプログラマとして働いているkuromatuと申します。 今回は、rubyのコーディングの際によく使われるinteractive ruby(irb)を拡張するgemプラグインのwirbleを基に、更なる拡張を加えるutility_beltというgemプラグインについて紹介します。 続きはこちら http://doruby.kbmj.com/Kuromatu_logs/20090227/utility_belt_wirble_irb_

  • dotfiles/.irbrc at master · tksohishi/dotfiles

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    dotfiles/.irbrc at master · tksohishi/dotfiles
  • モダンなEmacsを求めて (6) Rubyについて - block_given?

    今回のモダンなEmacsを求めてはRubyの開発環境について。 rbenv.el rbenvへの実行パスを通してくれたりする。 package-install rbenv で入る。 (require 'rbenv) (global-rbenv-mode) rbenvを入れた場所の設定も必要。 brewで入れたのならbrew info rbenvで場所がわかる。 echo $RBENV_ROOTでもよい。 (setq rbenv-installation-dir "/usr/local/var/rbenv") 追加しておく。 electric-pair-mode {と打つと}、"と打つと"のように対応する文字を自動で入力する。 Emacs 24からはデフォルトで入っている。有効にする。 (electric-pair-mode t) ブロック引数の|も自動で閉じてほしいので次のような設定を追加

    モダンなEmacsを求めて (6) Rubyについて - block_given?
  • emacsのruby環境をセットアップする -- blog.10rane.com

    最近caskに切り替えたので、ruby環境も一から作り直したいと思います。 オムニ補完には、今まではRsenseを使っていましたが、今回はrobeというパッケージと使ってみたいと思います。 対象のEmacsのバージョンは24.3.1になります 今回インストールするパッケージ ruby-mode ruby-end ruby-block inf-ruby robe auto-complete rvenv       # 2015/02/23追記 smart-newline # 2015/02/23追記 rspec-mode   # 2015/02/23追記 ruby-mode,ruby-end,ruby-blockをインストール まずは基的なところから。 Emacs24だとruby-electricがうまく動かなかったので、 今回はインストールしませんでしたが、ruby-endだけで事足りま