top


総投稿数 本 
no_

スポンサーサイト

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

Ruby:◇変数:いよいよですねぇ ・・・ 【Ruby:9歩目】

 2008-07-04
第9歩
 ◇変数:いよいよですねぇ


 変数。この「魔法」の仕組みがすべてのプログラムやシステムを
魅力的で確実なものにして来ていますが、
いよいよ Rubyでも これをきちんと理解・・・

 まず 種類。

 Ruby では
 ・変数名をみれば種類を区別することができる
  変数名の先頭に着目しよう ということで・・・

  value = 2008 # 先頭が小文字 > ローカル変数
  Value = 2008 # 先頭が大文字 > 定数
   (※前に学んだ リテラルとはまた 違うのだな
     このあたりがまだグレーだ)
  $value = 2008 # 先頭が$ > グローバル変数
   (※そうなんだ! $ がついていれば
     グローバル変数か。わかりやすいなぁ)
  その他

  @value ・・・ インスタンス変数(?)
  @@value ・・・ クラス変数(?)
  ということだ

※phpの場合(他の多くのプログラムでも同じだが)
変数はすべて $からはじめ
グローバル変数は
  $GLOBALS[変数名] で参照ができたのだが・・・

 $がついていれば グローバル変数、というのは
 混乱しやすいが、慣れれば便利そうだな


第9.1歩
 ◇変数:ローカル変数


 アルファベット小文字 またがアンダースコアで始まる変数
 (例)
a = 2008
x = 25
 など。

 [スコープ]
  ローカル変数だから当然スコープ(有効範囲)は限定
  ・メソッド定義の 外側と内側では共有することはできない
a = "こんにちは"
def foo # fooメソッド定義(このあたりはまた後述)
p a # これで「こんにちは」は表示されない
end
> 確認した

a = "こんにちは"
def foo # fooメソッド定義(このあたりはまた後述)
p a # これで「こんにちは」は表示されない
end
p a # ここでは「こんにちは」と表示
> 確認した
※ちなみに これら
 Windowsのコマンドプロンプトで確認したが
 前に学習したように
 ruby *******.rb では文字化け起こりやすく
 ruby -Ks *******.rb と
 文字コードが Shift-JIS であることを指定した方がいい

 ・ここで復習
  文字コードの指定は
  -Ks # Shift-JIS
  -Ku # UTF-8
  -Ke # EUC-JP
  -Kn # NONE
  だ

 [未定義のローカル変数]
  未定義のローカル変数は参照できない
  未定義のローカル変数にアクセスすると
   NameError が発生する
p a # NameError が発生する
> 確認した
undefined local variable or method `a' for main:Object (NameError)



第9.2歩
 ◇変数:グローバル変数


 名前が $で始まる変数
 (例)
$a = 2008
$x = 25
 など。

 [スコープ]
  プログラムのどこからでも参照できる
  ・前述 ローカル変数のケースでは
$a = "こんにちは"
def foo # fooメソッド定義(このあたりはまた後述)
p $a # これで「こんにちは」が表示
end
> 確認した

※グローバル変数は便利だが危険?
 利用し過ぎると、どこで変数が参照され書き換えられたが
 判別しづらくなる。必要最小限に抑えるべき
 もっともですな。

 [未定義のグローバル変数]
  未定義のローカル変数は参照できない
  未定義のローカル変数にアクセスすると
   nil が返ってくる
p $a #=> nil
> 確認した

まずはここまで・・・



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












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

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

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

 

リンク集

 

最近の記事

 

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

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

 

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