Rubyには処理をまとめておけるProcというものがある。 Procを使うには、下記のようにいくつか方法がある。 # 1.1 lambdaを使う hello = lambda do puts 'Hello' end # 1.2 1行にまとめることも可能 hello = lambda { puts 'Hello' } # 2.1 Procインスタンスを生成する world = Proc.new do puts 'World' end # 3. それぞれcallで呼び出すことが可能 hello.call # => Hello world.call # => World # 4. 引数を渡すことも可能 hello_text = lambda do |text| puts "Hello #{text}" end hello_text.call('World') # => Hello World l
ruby の inject って慣れないと少し理解しづらいよなーと思ったので、極力わかりやすい説明をしてみるテスト。 わかりやすいかもしれない説明 さて、1 から 10 までの合計を求めるこんな↓コードがあった場合 sum = 0 (1..10).each {|i| sum = sum + i } p sum # => 55 inject を使ってこのよう↓に書けます。 p (1..10).inject(0) {|sum, i| sum + i } each と inject でどのように書き変わってるかを図で示すとこんな↓感じ。 injectの引数 0 は、ブロックローカルな sum 変数の初期値になってます。で、ブロックの実行結果の値が sum に代入されて、2回目以降のループを実行します。ループしている間の、各変数とブロックの中身はこんな↓感じ。 sum i ブロックの中身(sum
//最初から廃止すべきだとおもう。 決して推奨できないコードを多くのエントリで見かけたので指摘のために残しておく。 ##使い方 : ダメなほう OAuth の各種認証トークンを準備して Twitter.configure do |config| config.consumer_key = "app_consumer_key" config.consumer_secret = "app_consumer_secret" config.oauth_token = "user_access_token" config.oauth_token_secret = "user_access_token_secret" end
TwitterAPI ver1.0対応となります。 $bundle installで準備完了。 API制限 ver1.1 1アカウントのエンドポイントごとに、15分で15回or180回となります。(1時間あたり60回または720回) ツイートの表示やユーザー検索などは多くできます。 ver1.0 1アカウントごとに、1時間あたり350リクエスト。場合によっては多くとれますが、2013年3月初旬までしか使えません。 認証 Twitter developerにてログイン後、右上のアイコンから「My Application」→「Create a new application」で詳細を入力します。 websiteはhttp://localhostは許可されないですが、http://192.168.0.1:8080などは大丈夫です。 Callback URLは適当でいいので必ず書いてください。 登
Ruby 2.0.0-p0がリリースされたので、rbenvを使用してインストールします。あわせて1.9.3系も最新版に更新します。 rbenvのインストールについては「rbenvで複数のバージョンのrubyを使用する環境を整える」を参考にします。rbenvとruby-buildを更新します。更新はgit pullを実行するだけです。 cd ~/.rbenv git pull cd ~/.rbenv/plugins/ruby-build git pull 現在インストール可能なrubyのバージョンの一覧を見ます。 ~% rbenv install -l Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 1.8.7-p352 1.8.7-p357 1.8.7-p358 1.8.7-p370 1.
rbenvを使用してruby-2.0.0、ruby-1.9.3、ruby-1.9.2等の異なるバージョンのrubyを使い分けられるような環境を整えます。rbenvのインストール githubのリポジトリからcloneしてインストールします。 git clone git://github.com/sstephenson/rbenv.git ~/.rbenv PATHに$HOME/.rbenv/bin:$PATHを追加しておきます。 また、rbenvのshimsを有効にするために.zshrcにeval "$(rbenv init -)"を追加しておきます。 bashを使用している場合は.bash_profileにeval "$(rbenv init -)"を追加します。 ruby-buildのインストール rbenvはrvmと異なり、rubyのビルドを自動で行いません。 ruby-buildを
■ [ruby] joined ruby-core team. I joined ruby-core team in Feb.23. I'll work follow topics: build checking and testing major application such as rails and fluentd in 2.1.0, 2.0.0 and 1.9.3. maintain to pure ruby library support Mac OS X maintain bugs.ruby-lang.org maintain www.ruby-lang.org maintain more developer tools of ruby commiter. I'm looking forward to working with ruby-core team. 2013/02/
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
Subject: [ruby-list:14752] Re: gsub("'", "\\'") From: Koji Arai <JCA02266@ f . . > Date: Thu, 3 Jun 1999 02:01:34 +0900 References: 14746 In-reply-to: 14746 新井です。 >>> From: Toshihiko SHIMOKAWA / 下川俊彦 <toshi / csce.kyushu-u.ac.jp> >>> Date: 02 Jun 1999 19:31:46 +0900 >>> Subject: [ruby-list:14746] gsub("'", "\\'") > 簡単なことのような気もするのですが、分からないので質問させてください。 いやぁ、これはよくハマりますからね。 > 文字列中の ' 一文字を \' の二文字に置換しよう
MobiRubyで書いた”さめがめ” 去年の春からずっとコツコツと作っているmrubyでiOSアプリが書けるMobiRubyが久々に動く様になったので、1年近くmrubyを触ってきて気になった所を少し書いてみます。 以下、mrubyと区別しやすくするために、普段みなさんがお使いのRubyをCRubyと書いています。 mrubyって? mrubyはMatzが去年発表した省メモリ版のRuby実装です。CRubyの機能を全て実装している訳ではなく、JIS/ISOの規格をベースに設計・実装されたものです。JIS/ISOの規格書は有料なのですが、最終ドラフトがIPAのサイトから確認できます。 mrubyの経緯や概要は、日経ITProによるMatzへのインタビューが分かりやすく、内部などについては、IIJさんや東芝情報システムさんがまとめている記事が参考になります。 現在の所リリース版はなく、GitH
Arduino買ったのでRubyとDinoでLチカした 前回roomba-hack-01 準備編で必要な部品を揃えるときに、 ついでに注文していたArduino Microが先に届いたのでいじってみた。 Arduino Micro PCとの接続は名前の通り(?)micro USBケーブル。 余ってるAndroidのケーブルとか使えて良い感じ。 どうやら最初から13 pinにLEDが接続されているみたい。 他のArduinoもだいたいそうらしい。 はじめてのArduino Arduinoをはじめようを購入してセットアップ〜LEDを点滅させるまで | 9ensanのLifeHack このページを参考にさせてもらってLEDをチカチカさせました。 RubyからArduinoコントロールしたい これからJenkinsのXFDとか作るにあたって、どうせならRubyでコントロールしたいと思っていくつかラ
SPDYを知るSPDYという実験的なプロトコルがありまして、 SPDY - The Chromium Projects HTTP2.0はSPDYをベースに作られるかも、みたいな話も風の噂で聞いたりするのでじゃあどんなもんかなあと仕様を読んで見ました。 SPDY Protocol - Draft 2 - The Chromium Projects SPDY Protocol - Draft 3 - The Chromium Projects SPDYv2とSPDYv3というのがあって、基本的にはSPDYv3の方を読んどけばいいのかなあとは思います。 ただSPDYv2もすでにいろんなところで使われていますので、仕様書の「7.Incompatibilities with SPDY draft #2」の部分もチェックしておきましょう。 HTTP Layering over SPDYSPDYというの
RMagickとは? † 画像処理ソフトウェア ImageMagick と Ruby を繋ぐ夢の架け橋。 ImageMagickは高機能だけど重い、と評判悪し。 サムネ作るとかの簡単な処理だけなら、Imlib2-Ruby (Imlib2 と Ruby のバインダ)使え、という話みたい。 でも、 Imlib2 はフィルタ少ない。 web サイトのシステム内で使うなら、 Imlib2。そうじゃないなら、 RMagick という使い分けが良さげ。 ↑ インストール † RubyForge ダウンロードページから取ってくる。 Windows 版は、同梱されている ImageMagic をインスコしないと上手く動かないので注意。 cd "展開したパス" gem install "rmagick-2.12.0-x86-mswin32.gem" RMagick2.so のload erro
The following is a post I had recently sent the Bangalore Ruby User Group. It has been slightly modified to address a larger audience. There were many Ruby beginners in last week's meetup, and the common question we heard was 'after the very basics, what next?' The best way to learn Ruby best practices is to pair with an experienced dev; the way I learned was by inheriting a reasonably small, but
冬休みです。多忙なあなたがまとまった自由時間を取れる唯一のチャンスです。こんなときは、遊んではいけません。なぜならその消費方法があなたの未来を決定付けるからです。もちろん、家族や両親や犬の世話をしてもいけません。寝正月などもっての外です。それはあなたの未来のための時間なのです。 そう、この時間を使ってあなたは学習するのです。 今年の冬こそはプログラミング言語を習得するのです。なぜならプログラミング言語を習得すれば、お見合いのときに「LispとRubyを少々」という相手に対して臆することなく「ほほぅでは関数型にも興味をお持ちかな?」などと返すことができるのです。 プログラミング言語といったら「Ruby」です。なぜならそれは日本人が作った言語だからです。国語の勉強をせずにいきなり外国語を学ぶ人はいません。事情はプログラミング言語の世界でも同じです。ですからまずは国産言語「Ruby」を学ぶべきな
GoFのデザインパターンとは、「プログラミングのベストプラクティスを体系化したもの」です。このベスト・プラクティスをしっかりと理解して設計すれば、ソフトウェア設計の効率を高めることができます。またデザインパターンが「プログラミングの思想」の共有をよりスムーズにしてくれます。先人たちの試行錯誤の結果を効果的に利用して、プログラミングをもっと楽しんでしまいましょう! 🗻 デザインパターンのポイントGoFのデザインパターンには下のプリンシパルがあります。 変わるものを変わらないものから分離する インタフェースに対してプログラミングし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(You Ain’t Gonna Need It./YAGNI) 🤔 デザインパターン一覧 アブストラクトファクトリ ビルダ ファクトリメソッド シングルトンパターン アダプタ コンポジッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く