fukushima.rb#00
DESCRIPTION
TRANSCRIPT
ふじおか22 Oct. 2010
Fukushima.rb#00Yuguiさんの著書
「はじめての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 elseunless 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日月曜日