Ruby
Rubyの基礎知識(2ページ目)
ここでは、Rubyの基本的なことからやや実践的な内容まで紹介します。
記事一覧
Rubyの例外処理の基本
ガイド記事橋本 拓也例外とは何かプログラムの実行は失敗する(エラーが発生する)ことがあります。たとえば開こうとしたファイルがない場合、メソッドに渡す引数の数が違った場合、数値を0で割ろうとした場合...などなど、そのレイヤーは様々です。プログラムがエラーを発生させた時、何も対策をしないとその時点でプログラムはクラッシュ...続きを読む
RubyによるWebスクレイピング(2): Capybaraで対話的ブラウジング
ガイド記事橋本 拓也はじめに前回の記事では、WebのHTMLを取得し、Nokogiriを使ってパースする方法を紹介しました。今回の記事では、Capybaraを利用してウェブを操作・情報を取得する方法を紹介します。Capybaraとはjnicklas/capybara-GitHubCapybaraはウェブアプリケーション...続きを読む
RubyによるWebスクレイピング(1): NokogiriでHTMLをパースする
ガイド記事橋本 拓也Webスクレイピング今回の記事は、Rubyを使ってWeb上の情報を取得・解析する方法の第一歩がテーマです。Webに存在するHTMLをRubyから取得し、取得したHTMLをNokogiriを使って解析する方法の初歩を扱います。URLのopenURLからHTMLを取得するシンプルな方法の一つは、標準ライ...続きを読む
Rubyの条件分岐・制御構文の使い方
ガイド記事橋本 拓也条件分岐・制御構文今回の記事ではRubyの基本的な条件分岐と制御構文について解説し、Rubyのifやcaseが値を返す「式」であることについても触れます。if、unlessRubyのifはおおむね特別な知識を必要としない構文ではないかと思います。if条件式のカッコやその後のthenは省略可能です一点...続きを読む
イベント駆動I/OライブラリEventMachineの使い方
ガイド記事橋本 拓也EventMachineとはeventmachineは、Rubyでイベント駆動I/Oや並行処理の機能を提供する低レイヤーなライブラリです。簡単なechoサーバまずはgemをインストールします。以下GemfileのようにBundlerを使うか、あるいは単純にgeminstalleventmachine...続きを読む
ブロックとイテレータ、および手続きオブジェクトProcとlambdaについて
ガイド記事橋本 拓也本記事ではRubyにおけるブロック、ブロック付きメソッドの定義、そしてブロックをオブジェクトとして扱うことのできるProcとlambdaを紹介します。ブロックとイテレータブロックとは、単純に言えば「コードのかたまり」です。Rubyにおいてはdo...endで囲われたところがブロックとなります。簡単な...続きを読む
Fiberによる協調的な並行プログラミング
ガイド記事橋本 拓也Fiberとは今回の記事では、Fiberについて解説します。FiberはRubyにおける並行処理とスレッド・プロセスの機能で解説した"Thread"に似ていますが、Threadにはない特徴を備えています。RubyリファレンスマニュアルからFiberクラスの説明を引用してみましょう。ノンプリエンプティ...続きを読む
Rubyによるネットワーク通信の基礎
ガイド記事橋本 拓也今回の記事では、Rubyを使った基礎的なネットワーク通信について解説します。TCPによる通信インターネット上で行われる通信のほとんどはTCPというプロトコル(お互いこの方法でやりとりしましょう,という取り決め)のもと行われています。ウェブページを閲覧する際使われるHTTPも、サーバにログインする際使...続きを読む
Rubyにおける並行処理とスレッド・プロセスの機能
ガイド記事橋本 拓也本記事では、Rubyで並行(concurrent)に処理を行う手段である、Threadとforkの解説を行います。スレッド(Thread)とはスレッド(Thread)とは、ひとつのプロセス上で複数の処理を実行させる際の処理単位です。Ruby1.8まではOSに依存しないユーザレベルのスレッド(これをグ...続きを読む
Rubyの正規表現の基礎
ガイド記事橋本 拓也正規表現とは正規表現(Regularexpression,regexpとも)は文字列のパターンを表現する方法です。Rubyでは正規表現はRegexpクラスに実装されています。Regexp.new("AllAbout")とすると正規表現オブジェクトが生成されますが、実際のコードでは/で挟むリテラルを使...続きを読む