狠狠撸

狠狠撸Share a Scribd company logo
ふじおか
22 Oct. 2010
Fukushima.rb#00
Yuguiさんの著書
「はじめてのRuby」より
2010年10月25日月曜日
Rubyの特徴
インタプリタ
オブジェクト指向
全てがオブジェクト
正規表現
高階関数(ブロック構文)
言語内DSL
メタプログラミング
ガベージコレクション
2010年10月25日月曜日
配列とハッシュ
配列とは?ハッシュとは?
要素を[]で括ったものが配列リテラル
配列に負の添字を渡すと最初に戻る
長さ付きの添字、範囲添字がある
破壊的なメソッドと非破壊的なメソッドがあ
る(これらのオブジェクトに限らないが)
要素を{}で括ったものがハッシュリテラル
イテレータを使うと要素を辿れる
Enumerable、Enumerator(後で)
2010年10月25日月曜日
数値
IntegerとFloatが組み込まれている
整数型は桁あふれしない
10、2、8、16進数をリテラル表記可能
10進数表記、指数表記で浮動小数点をリテラル表
記可能
浮動小数点の実装はシステム依存
数値演算子として、加減乗除、剰余、べき乗、符
号操作がある(メソッドとして)
Mathモジュールには数学関数、数学定数がある
整数をビット列として扱える
2010年10月25日月曜日
文字列
文字列はStringクラスのインスタンス
多彩なリテラル
%記法 ヒアドキュメント バッククォート
正規表現
文字列の様々なメソッド
部分文字列や部分更新など
sprintfや%でのフォーマット出力
マルチバイトは省略
2010年10月25日月曜日
入出力
入出力はIOクラスまたはIO互換クラスの
標準入出力、File、ARGF、StringIO
File.openにモード文字列を渡して、開く
ファイルの読み書きモードなどを変更する
ARGVを通じて引数リストにアクセス
2010年10月25日月曜日
変数と式
変数はオブジェクトへの参照しかない
ローカル変数、インスタンス変数、クラス変
数、グローバル変数、定数
たくさんの演算子
多くは再定義可能
一部は再定義できない
多重代入によって多値を代入できる
if elsif else
unless while until case (for do-while 大域脱出)
イテレータによる繰り返し
begin rescue else ensure
2010年10月25日月曜日
メソッド#1
レシーバとメソッド名を.または::で結び、引数列を続
ける
レシーバ指定は省略可能で、その時はselfを呼ぶ
引数列を括るカッコは省略可能
関数的メソッドはレシーバ情報を持っていない(略)
配列を引数に流し込むことができる
引数列を受け取るには*で
2010年10月25日月曜日
メソッド#2
ブロックを引き渡すことができる
Procを代わりに渡すこともできる(&を使う)
Procとして受け取ることも出来る(&を使う)
ブロックはクロージャ、メソッドはクロージャではな
い
デフォルト値を指定できる
returnで戻る
2010年10月25日月曜日

More Related Content

Fukushima.rb#00