top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_137

Ruby:◇文字列:非破壊的メソッド(?)と破壊的メソッド ・・・ 【Ruby:12.5歩目】

 2008-07-28
第12.5歩
 ◇文字列:非破壊的メソッド(?)と破壊的メソッド


 □「破壊的」「非破壊的
  面白い表現が出てきた。
  要は、元のオブジェクト自体が
   変化するか(置き換えられるか)・・・破壊的
   なにも変わらない(置き換えられない)非破壊的
  という分け方ですね

 +++++++++++++++++++++++++++++++++++
 ・非破壊的メソッド
 +++++++++++++++++++++++++++++++++++
  ・オブジェクト および レシーバの内容に
   一切影響を与えないメソッド
   ・upcase(大文字にする)
   ・downcase(小文字にする)
   ・capitalize(先頭の1文字を大文字に残りを小文字にする)
   ※これらは、非破壊的メソッド

例えば
str = "olympic"
p str.upcase #=> "OLYMPIC"
p str #=> "olympic" 変わっていない
p str.downcase #=> "olympic"
p str #=> "olympic" 変わっていない
p str.capitalize #=> "Olympic"
p str #=> "olympic" 変わっていない
> 確認した


 +++++++++++++++++++++++++++++++++++
 ・破壊的メソッド
 +++++++++++++++++++++++++++++++++++
  ・オブジェクトの中身を直接置き換えてしまう
  ・非破壊的メソッドと一緒に用意されている
   破壊的メソッドは、「非破壊的メソッド の末尾に !
   がついた形式となっている
   ・upcase!(大文字にする)
   ・downcase!(小文字にする)
   ・capitalize!(先頭の1文字を大文字に残りを小文字にする)
   ※これらは、破壊的メソッド として用意されている

str = "olympic"
p str.upcase! #=> "OLYMPIC"
p str #=> "OLYMPIC" 変わった
str = "olympic"
p str #=> "olympic" 初期化
p str.downcase! #=> nil が返る
str = "olympic"
p str #=> "olympic" 初期化
p str.capitalize! #=> "Olympic"
p str #=> "Olympic" 変わった
> 確認した

★注意★

  ・非破壊的メソッドは、結果が元の値と同じ場合、nil が返って
   くるようだ


※phpの場合、下記のような関数があるが
 利用方法として
 すべて「非破壊的」ということだな。
 直接変えてしまう場合は、
 その変数にリターンさせ代入する という方法をとることが
 多い。
文字列置き換え操作例
関数[strtolower] 小文字に変換
$var="創るMETABOY";
echo strtolower($var); # "創るmetaboy"
関数[strtoupper] 大文字に変換
$var="創るmetaboy";
echo strtoupper($var); # "創るMETABOY"
関数[ucwords] 先頭の1文字を大文字にする
$var="metaboy";
echo ucwords($var); # "Metaboy"
また、phpのテンプレート方式として
広く利用されている[Smarty]においては、
{$変数名|capitalize} という方法で、
Rubyのcapitalizeと同じような働きをする「修飾子」が存在する


※この連載は、はじめて「Ruby」に取り組んだmetaboyが、
 PHPなどとの違いを考慮しつつ、ゆっくりと
 良書「はじめてのRubyプログラミング」を基に
 学んでゆく、詳細な記録です。
                      (本日の参照:117頁


FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ




commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/137-b592c105
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。