<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>技術ブログ &#124; 株式会社クラウディア &#187; yusuke</title>
	<atom:link href="https://cloudear.jp/blog/?author=8&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://cloudear.jp/blog</link>
	<description>クラウド専門の業務システム・社内ツール開発</description>
	<lastBuildDate>Fri, 12 Nov 2021 05:00:35 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>Ruby on Rails 導入方法【初級編】</title>
		<link>https://cloudear.jp/blog/?p=2282</link>
		<comments>https://cloudear.jp/blog/?p=2282#comments</comments>
		<pubDate>Fri, 25 Nov 2016 09:25:08 +0000</pubDate>
		<dc:creator><![CDATA[yusuke]]></dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=2282</guid>
		<description><![CDATA[yusukeです。ruby編に引き続き、Railsの初級編を行いたいと思います。  Rubyのインストール  Bundlerのインストール  Railsのインストール 1 Rubyのインストール ruby編では、Clou [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>yusukeです。ruby編に引き続き、Railsの初級編を行いたいと思います。</p>
<ol>
<li> Rubyのインストール</li>
<li> Bundlerのインストール</li>
<li> Railsのインストール</li>
</ol>
<p><span id="more-2282"></span></p>
<p><span style="font-size: 14pt">1 Rubyのインストール</span></p>
<p>ruby編では、Cloud9というオンラインIDEサービスを使いましたが、今回はMacの環境でrubyのインストールからrails構築まで行います。rubyのインストールにはrbenvとruby-buildを使います。rbenvはrubyのバージョンを切り替えるために便利なツールです。複数のバージョンを管理してくれます。rubyのバージョンが違うプロジェクトを複数担当することもあるので、このツールで切り替えができると便利です。ruby-buildはrbenvのプラグインでrubyをインストールする際に使います。</p>
<p>rbenvをインストールする方法は２通ります。</p>
<p>最新バージョンを使いたいなら、githubからインストールします。<br />
簡単にインストールしたいなら、homebrewからインストールします。<a href="https://github.com/rbenv/rbenv#basic-github-checkout">github</a>にて２つのインストール方法が記載されています。以下の手順はhomebrewを使うインストールです。1.1 homebrewでのインストール<br />
まずはそのhomebrewのインストールを行います。<br />
前提として以下の２つが必要となります。<br />
①Javaのインストール<br />
②Xcode Command Line Toolsのインストール<br />
上記が終わったら<br />
<a href="http://brew.sh/">homebrew公式</a><br />
に書かれているように、（HPの記載が変更になっている場合もあるので注意）<br />
<code>コマンドプロンプトにて<br />
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"<br />
</code><br />
をコマンドプロンプトにて実行します。<br />
El Capitanの場合、/usr/localのパーミッション関係でエラーが起こることがるので、パーミッションの変更を行ってください。homebrewをインストールしたら、rbenvのインストールを行います。</p>
<div class="code-frame">
<div class="highlight">
<pre>$ brew install rbenv ruby-build
</pre>
</div>
</div>
<div class="code-frame">
<div class="highlight">
<pre>$ echo 'eval "$(rbenv init -)"' &gt;&gt; ~/.bash_profile
$ source ~/.bash_profile
</pre>
</div>
</div>
<p>rbenvのバージョン確認をします。</p>
<pre>rbenv -v
</pre>
<p>次にrbenvを使ってインストールできるrubyのバージョンを表示します。</p>
<pre>rbenv install -l
</pre>
<p>上記のコマンドでバージョンが複数表示されるので、使いたいバージョンを指定して<br />
rbenv install　コマンドを使い、rubyをインストールします。今回は2.2.2を指定しました。</p>
<div class="code-frame">
<div class="highlight">
<pre class="">rbenv install 2.2.2</pre>
</div>
</div>
<p>以上でhomebrewでのrubyインストールは終了です。次の章のBundlerインストールを行ってください。</p>
<h4><span id="以下はgithubを用いたインストール" class="fragment"></span>以下はgithubを用いたインストール</h4>
<p>1.2 githubでのインストール<br />
rbenvインストール。<br />
<code></code></p>
<pre>$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ cd ~/.rbenv &amp;&amp; src/configure &amp;&amp; make -C src
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' &gt;&gt; ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' &gt;&gt; ~/.bash_profile
$~/.rbenv/bin/rbenv init
</pre>
<p>これでrbenvが使えます。</p>
<p>次はruby-buildをインストールします。<br />
<code><br />
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build<br />
</code></p>
<p>rbenvのバージョン確認をします。</p>
<pre>rbenv -v
</pre>
<p>次にrbenvを使ってインストールできるrubyのバージョンを表示します。</p>
<pre>rbenv install -l
</pre>
<p>上記のコマンドでバージョンが複数表示されるので、使いたいバージョンを指定して<br />
rbenv install　コマンドを使い、rubyをインストールします。今回は2.2.2を指定しました。</p>
<div class="code-frame">
<div class="highlight">
<pre class="">rbenv install 2.2.2</pre>
</div>
</div>
<p>以上でgithubでのrubyインストールは終了です。次の章のBundlerインストールを行ってください。<br />
<span style="font-size: 14pt">2 Bundlerのインストール</span><br />
rubyのインストールの次はBundlerのインストールです。BundlerとはGemのバージョンや依存関係を管理してくれます。。Gemとはrubyのライブラリのことです。インストールの手順は以下です。</p>
<div class="code-frame">
<div class="highlight">
<pre class="">$ rbenv exec gem install bundler</pre>
<p>下記はrubyのバージョンやGemをインストールした際に実行します。rbenvで管理しているバージョンでGemが使えるようになります。</p>
<pre>$ rbenv rehash</pre>
<p>バージョン確認をします。</p>
<pre>$ bundler -v
</pre>
<p>rbenv execが冒頭についているのは、rbenvで管理しているruby環境で確実にコマンドが実行されるようにするためです。以上でBundlerのインストールは終了です。次はいよいよRailsのインストールになります。</p>
</div>
</div>
<p><span style="font-size: 14pt">3 Railsのインストール</span></p>
<p>今回は新規アプリケーションを作成する場合を説明したいと思います。Bundlerを使ってRailsをインストールすると複数のプロジェクトに関わっている際にプロジェクト間のGemのバージョンの差異に悩まなくて良くなります。（下記のbundler insatallの項目を参照）<br />
①新規アプリケーションを作成する場合<br />
railsのプロジェクトフォルダを作成し、そこに移動し、</p>
<pre>$ mkdir ProjectDir
$  cd ProjectDir
</pre>
<p>下記コマンドでGemfileを作成し、そのファイルにrailsをインストールするように書きます。GemfileとはBundlerで使うGemのバージョンが指定されており、このファイルに従ってGemfile.lockを作成します。Gemfile.lockにはGemfileで書かれているGemと、それと依存関係にあるGemの名前やバージョンが記載されています。</p>
<pre>$ bundle init
</pre>
<p>Gemfileにインストール設定を記述します。ここではバージョン4.0.5を指定しています。</p>
<pre>$ echo 'gem "rails", "4.0.5"' &gt;&gt; Gemfile</pre>
<p>インストールコマンドを実行します。これによりvendor/bundle以下にRailsと関連するGemがインストールされます。このオプションを付けることでこのプロジェクト内だけにGemがインストールされます。</p>
<pre>$ bundle install --path vendor/bundle
</pre>
<p>これでrailsコマンドでアプリケーションを作成できるようになりました。以下のコマンドで作成しましょう。</p>
<pre>bundle exec rails new .</pre>
<p>Gemfileの上書きの確認をされたら許可してください。</p>
<p>アプリケーションが作成できたら以下のコマンドでサーバーを立ち上げましょう。</p>
<pre>bundle exec rails server</pre>
<p>ブラウザでhttp://localhost:3000にアクセスして、Railsの初期画面が表示されているか確認しましょう。<br />
これでRailsの導入は完了です。お疲れ様でした。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=2282</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby 環境構築〜クラス作成まで【初級編】</title>
		<link>https://cloudear.jp/blog/?p=2164</link>
		<comments>https://cloudear.jp/blog/?p=2164#comments</comments>
		<pubDate>Fri, 25 Nov 2016 08:52:37 +0000</pubDate>
		<dc:creator><![CDATA[yusuke]]></dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=2164</guid>
		<description><![CDATA[はじめまして。yusukeと申します。Rubyについて技術ブログを書かせていただくことになりました。このブログを機にRubyを始めようと思ってくれると嬉しいです。では早速参りたいと思います。 目次 Ruby開発環境構築  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>はじめまして。yusukeと申します。Rubyについて技術ブログを書かせていただくことになりました。このブログを機にRubyを始めようと思ってくれると嬉しいです。では早速参りたいと思います。</p>
<p><span id="more-2164"></span></p>
<p><span style="font-size: 18pt"><strong>目次</strong></span></p>
<p><strong><em>Ruby開発環境構築</em></strong><br />
<em>1. オンラインIDE（Cloud9）</em><br />
<em>2. ローカル環境にインストールしたい場合</em></p>
<p><strong><em>Rubyを触ってみよう</em></strong><br />
<em>1. 変数と条件分岐</em><br />
<em>2. 繰り返し</em><br />
<em>3. メソッド</em><br />
<em>4. クラス</em></p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt"><strong><span style="font-size: 18pt">開発環境構築</span><br />
</strong></span></p>
<p><strong> <span style="font-size: 12pt"> 1.　オンラインIDEサービス（Cloud9）</span></strong><br />
Cloud9とはオンラインIDE（統合開発環境）サービスです。小規模なアプリケーションの開発やデータベースなどをクラウド環境で利用できるサービスです。<br />
開発環境を整えるのは、プログラミングを学ぶ者にとって最初の難関となりますが、このサービスを使うと面倒な作業は必要ありません。すぐに始めたい人や、ローカル環境にインストールできなかった人はCloud9を使ってみましょう。<br />
<a title="Cloud9" href="https://c9.io/" target="_blank">Cloud9</a></p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2016/04/59c4a7e27a50903606f4422bccdebbe9.png"><img class="alignnone size-full wp-image-2189" src="https://cloudear.jp/blog/wp-content/uploads/2016/04/59c4a7e27a50903606f4422bccdebbe9.png" alt="スクリーンショット 2016-04-22 14.55.01のコピー" width="720" height="418" /></a></p>
<p>利用する手順は以下のとおりです。<br />
１，Cloud9で新規ユーザー登録します。Sign_upをクリックし、必要な情報を記入してください。(GithubやBitBitbucketとも連携しており、そのアカウントからもログインできます。)</p>
<p>2,登録完了後、ダッシュボードが表示されるので、「Create a new workspace」をクリック。以下の様な画面が表示されます。</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2016/04/7f7ca923c466497be8a2bea58b04aef3.png"><img class="alignnone size-full wp-image-2190" src="https://cloudear.jp/blog/wp-content/uploads/2016/04/7f7ca923c466497be8a2bea58b04aef3.png" alt="スクリーンショット 2016-04-22 16.15.08のコピー" width="720" height="450" /></a></p>
<p>3,workspace名や公開設定を変更し、Blankテンプレートを選択。「create workspace」をクリック。<br />
※RailsテンプレートやRails_Tutorialテンプレートは今回は使用しません。<br />
※ターミナルで確認した所、BlankテンプレートはRailsは入っていませんが、Ruby(執筆時２．３)はインストールされています。<br />
４，作成したworkspaceが表示されれば、完了です。</p>
<p><a href="https://cloudear.jp/blog/wp-content/uploads/2016/04/4090742393b9307a9f07ab43014ff074.png"><img class="alignnone size-full wp-image-2191" src="https://cloudear.jp/blog/wp-content/uploads/2016/04/4090742393b9307a9f07ab43014ff074.png" alt="スクリーンショット 2016-04-22 16.22.26のコピー" width="720" height="450" /></a></p>
<p>簡単ですね。これでクラウド環境でRubyが使えるようになりました。<br />
左に表示されているファイルツリーで右クリックして、フォルダやファイルを作成します。拡張子は「.rb」を使います。</p>
<p><strong><span style="font-size: 12pt">2．ローカル環境にインストールしたい場合</span></strong><br />
ローカルの環境にRubyをインストールする際には、公式サイトのドキュメントを利用すると良いでしょう。ここでは詳しいやり方は省略させていただきます。<br />
<a title="公式サイトのドキュメント" href="https://www.ruby-lang.org/ja/documentation/installation/" target="_blank">公式サイト</a></p>
<p>Windows向け<br />
公式サイトにあるようにWindowsにRubyをインストールする方法はいくつかあります。ソースからコンパイルしてインストール出来ない場合は、より簡単にインストールできるサードパーティ製のコンパイル済みのバイナリを使用すると良いでしょう。</p>
<p>Mac向け<br />
MacではRubyは標準コマンドとして利用することができますが、使用したいバージョンよりも古い可能性があります。<br />
自分で追加してインストールする場合、ソースからコンパイルしてインストールするか、パッケージ管理システムを利用してインストールするか選べます。</p>
<p>&nbsp;</p>
<p><span style="font-size: 18pt"><strong>Rubyを触ってみよう<br />
</strong></span><br />
<strong><span style="font-size: 12pt">1. 変数と条件分岐</span></strong><br />
まずは変数の使い方と条件分岐です。</p>
<pre class="theme:sublime-text lang:ruby decode:true " title="sample01.rb">#変数の定義
#名前
name01="田中"
name02="高橋"

#点数
a=60
b=80

#点数の平均を求める式
ave=(a+b)/2

#条件分岐　if構文
=begin
if 条件 then
  条件が成り立った時に実行する処理
else
  条件が成り立たなかった時に実行する処理
end
=end
if a&gt;b then
  max=a
  min=b
else
  max=b
  min=a
end

#コンソールに引数を出力する
print(name01,"さんの点数は",a,"点\n")
print(name02,"さんの点数は",b,"点\n")
print("二人の点数の平均は",ave,"点\n")
print("最高点は",max,"点\n")
print("最低点は",min,"点\n")


</pre>
<p>RubyではJavaと違い、変数の型定義を明示的に行いません。上記のようにそのまま変数に代入しています。<br />
Rubyでは文末に；（セミコロン）は使いません。改行を文の区切りとして捉えます。そのため、インデント（字下げ）を行い、まとまりを強調し見やすくします。<br />
条件分岐にif文を使います。thenを書き忘れないようにしてください。<br />
printメソッドは引数をコンソールに出力するメソッドです。複数の引数を扱う場合は「,」で区切ります。</p>
<p>ファイルを作成したら、画面下部のターミナルで、実行してみましょう。<br />
実行の仕方は「ruby ファイル名.rb」です。</p>
<pre class="theme:terminal lang:sh decode:true ">aiueo111:~/workspace $ ruby sample01.rb
田中さんの点数は60点
高橋さんの点数は80点
二人の点数の平均は70点
最高点は80点
最低点は60点</pre>
<p>&nbsp;</p>
<p><strong><span style="font-size: 12pt">2. 繰り返し</span></strong></p>
<pre class="theme:sublime-text lang:ruby decode:true" title="sample02.rb">##繰り返し　for構文
=begin
for 変数 in オブジェクト do
  繰り返す処理
end
=end
sum=0
for i in 1..5
  sum=sum+i
end
print sum,"\n"

#繰り返し while構文：
=begin
while 繰り返し続ける条件 do
  繰り返す処理
end
=end
i=1
while i&lt;4do
  print(i,"\n")
  i=i+1
end
#繰り返し timesメソッド
=begin
繰り返す回数.times do
  繰り返す処理
end
=end
2.times do
  print("２回繰り返します。\n")
end

</pre>
<pre class="theme:terminal lang:sh decode:true ">aiueo111:~/workspace $ ruby sample02.rb
15
1
2
3
２回繰り返します。
２回繰り返します。</pre>
<p>do~endをブロックと呼びます。ブロックの中に繰り返したい処理を書きます。<br />
この他にも繰り返しメソッドがあるので、興味がある方は調べてみてください。</p>
<p><strong><span style="font-size: 12pt"><br />
3. メソッド</span></strong></p>
<pre class="theme:sublime-text lang:ruby decode:true" title="sample03.rb">=begin
メソッド構文:
def メソッド名(引数１，引数２，・・・・)
　　実行したい処理
end
=end

#メソッド定義
#コンソールに引数を出力するメソッド
def test(name="Ruby",point=0)
  print(name,"さんの点数は",point,"点\n") #()省略可
end

#メソッド呼び出し。
test()
test("田中",60)
test("高橋",80)

#平均点を求めるメソッド
def average(point01=10,point02=0)
  ave=(point01+point02)/2  
  return ave   #return文は省略可
end

#平均点のメソッド呼び出し
print("平均点は",average(60,80),"点\n")

#最高点を求めるメソッド
def max(a,b)
  #return文は省略している
  if a&gt;b then
    max=a
  else
    max=b
  end
end
#最高点のメソッド呼び出し
print("最高点は",max(60,80),"点\n" )
</pre>
<p>name,point引数が空の状態でhelloメソッドが呼び出された時、メソッド定義部分で記載されている引数がデフォルトの値として代入されます。<br />
メソッドの中でreturn文を用いて返り値を指定できますが、省略することも可能です。省略した場合は、メソッドの中で最後に得られる値が返り値となります。</p>
<pre class="theme:terminal lang:sh decode:true ">aiueo111:~/workspace $ ruby sample03.rb
Rubyさんの点数は0点
田中さんの点数は60点
高橋さんの点数は80点
平均点は70点
最高点は80点</pre>
<p>&nbsp;</p>
<p><strong><span style="font-size: 12pt">4. クラス</span></strong></p>
<pre class="theme:sublime-text lang:ruby decode:true" title="sample04.rb">class EnglishTest
  #initializeメソッドは初期化のためのメソッド(Javaだとコンストラクタ)
  def initialize(name="Ruby",point=0)
    @name=name  #インスタンス変数に引数を代入
    @point=point
  end
  
  #ゲッター　参照のみ可能
  attr_reader :name,:point
  #セッター　変更のみ可能
  #attr_writer :name,:point
  #アクセスメソッド（参照、変更の両方を可能にする）
  #attr_accessor :name :point
  
  #インスタンスメソッド定義
  #コンソールに引数を出力するメソッド
  def test
   print(@name,"さんの点数は",@point,"点\n") #()省略可
  end
  
end
#オブジェクトの生成
ruby=EnglishTest.new
tanaka=EnglishTest.new("田中",60)
takahashi=EnglishTest.new("高橋",80)
#メソッド呼び出し
ruby.test
tanaka.test
takahashi.test
#ゲッターにより、nameやpointを参照できるようになる。
p tanaka.name
p takahashi.point</pre>
<p>クラスを使うことによって初期化メソッドのinitializeメソッドとインスタンス変数が使えるようになりました。<br />
initializeメソッドはオブジェクトが生成される際に呼ばれ、必要な初期化処理はここに記載します。ここでも引数がない状態でオブジェクト生成されるときは、デフォルトの値が呼ばれます。<br />
@で始まる変数はインスタンス変数と呼ばれ、同じインスタンス内であれば、他のメソッドからもその値を参照や変更ができます。<br />
ゲッターにより、他のインスタンスからnameとpointが呼び出せるようになりました。</p>
<pre class="theme:terminal lang:sh decode:true ">aiueo111:~/workspace $ ruby sample04.rb
Rubyさんの点数は0点
田中さんの点数は60点
高橋さんの点数は80点
"田中"
80</pre>
<p>&nbsp;</p>
<p><span style="font-size: 18pt"><strong>最後に</strong></span><br />
<span style="font-size: 10pt">だいぶ駆け足でRubyを紹介しましたが、いかがでしたでしょうか？わかりづらいところや、</span>もう少し詳しく書いて欲しい所があれば、コメントなどでいただけるとありがたいです。</p>
<p><span style="font-size: 10pt">今後もRubyの続きや新しくRailsの技術ブログも書く予定なので、気になる方はチェックしてみてください。</span></p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=2164</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby モジュールと例外処理【応用編】</title>
		<link>https://cloudear.jp/blog/?p=2242</link>
		<comments>https://cloudear.jp/blog/?p=2242#comments</comments>
		<pubDate>Tue, 25 Oct 2016 11:42:39 +0000</pubDate>
		<dc:creator><![CDATA[yusuke]]></dc:creator>
				<category><![CDATA[雑談]]></category>

		<guid isPermaLink="false">https://cloudear.jp/blog/?p=2242</guid>
		<description><![CDATA[yusukeです。前回のRuby【初級編】の続きを書きたいと思います。 目次 クラス（クラスメソッドとクラス変数） 継承 モジュール 例外処理 前回はクラスを作り、インスタンスメソッドを使うところまでを記載しました。今回 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>yusukeです。前回のRuby【初級編】の続きを書きたいと思います。</p>
<p><span style="font-size: 18pt">目次</span></p>
<ol>
<li style="text-align: left"><span style="font-size: 14pt">クラス（クラスメソッドとクラス変数）</span></li>
<li style="text-align: left"><span style="font-size: 14pt">継承</span></li>
<li style="text-align: left"><span style="font-size: 14pt">モジュール</span></li>
<li style="text-align: left"><span style="font-size: 14pt"><span style="font-size: 14pt">例外処理</span></span></li>
</ol>
<p><span id="more-2242"></span></p>
<p>前回はクラスを作り、インスタンスメソッドを使うところまでを記載しました。今回はクラスメソッドの書き方から始めたいと思います。</p>
<p><span style="font-size: 24pt">1. クラスメソッドとクラス変数</span></p>
<pre class="theme:sublime-text lang:ruby decode:true" title="english_test.rb">class EnglishTest
#クラスメソッド
=begin
def クラス名(もしくはself).メソッド名
  実行したい処理
end
=end
  def EnglishTest.title(title)
    print title,"テストの点数を発表します。\n"
  end
end
#クラスメソッドの呼び出し
EnglishTest.title("英語")
</pre>
<p>クラスメソッドは、def クラス名(もしくはself).メソッド ~ endで表します。クラスメソッドを呼び出すには「クラス名.メソッド名」と書きます。</p>
<p>複数のクラスメソッドを纏める書き方もあります。</p>
<pre class="theme:sublime-text lang:ruby decode:true " title="english_test.rb">class EnglishTest
#発表した人数をカウント
  @@count=0

#初期化メソッド
  def initialize(name="Ruby",point=0)
    @name=name  
    @point=point
  end
#アクセスメソッド
  attr_reader :name,:point
  
#インスタンスメソッド
  def test
   @@count+=1
   print(@name,"さんの点数は",@point,"点\n") #()省略可
  end
 
#クラスメソッド
  class &lt;&lt; EnglishTest
    def title(title)
      print title,"テストの点数を発表します。\n"
    end

    def count
      @@count
    end
  end
end

#クラスメソッドの呼び出し
EnglishTest.title("英語")

#オブジェクトの生成
ruby=EnglishTest.new
tanaka=EnglishTest.new("田中",60)
takahashi=EnglishTest.new("高橋",80)
#メソッド呼び出し
ruby.test
tanaka.test
takahashi.test
#クラス変数の呼び出し
puts EnglishTest.count,"人の点数を発表しました。\n"</pre>
<p>クラスメソッドを複数書く場合はclass &lt;&lt; EnglishTest ~ endの中に書きます。インスタンスメソッドと同じような書き方ができ、わかりやすくなります。</p>
<p>@@で始まる変数はクラス変数と呼ばれるものです。このクラスのすべてのインスタンスで共有できる変数です。クラス変数を参照するには自分でアクセスメソッドを用意しなければいけません。上記ではtestメソッドが呼び出される回数を記録しています。</p>
<p>以下は実行結果です。</p>
<pre class="theme:terminal lang:default decode:true " title="実行結果">英語テストの点数を発表します。
Rubyさんの点数は0点
田中さんの点数は60点
高橋さんの点数は80点
3
人の点数を発表しました。</pre>
<p>&nbsp;</p>
<p><span style="font-size: 24pt">２. 継承</span></p>
<pre class="theme:sublime-text lang:ruby decode:true" title="human.rb">class Human
  def initialize(name="you")
    @name=name
  end

  def morning
    print "おはよう\n"
  end

  def hello
    print "こんにちは, ", @name,"さん\n"
  end 
end

#継承の構文
#class クラス名 &lt; スーパークラス ~ end
class John &lt; Human
  def morning
    print "Goodmorning\n"
  end
  
　　def bye
　　　　　print "Goodbye\n"
 end
end

john=John.new("John")
john.morning
john.hello
john.bye</pre>
<p>スーパクラスがHuman,サブクラスがJohnになります。スーパークラスのmorningメソッドをサブクラスのmorningメソッドでオーバーライド（上書き）し、サブクラスで新しいbyeメソッドを追加しています。スーパークラスのinitializeとhelloメソッドはサブクラスには記載されていませんが、継承されているので、呼び出すことができます。</p>
<pre class="theme:terminal lang:default decode:true" title="実行結果">Goodmorning
こんにちは, Johnさん
Goodbye</pre>
<p>&nbsp;</p>
<p><span style="font-size: 24pt">３. モジュール</span></p>
<p>モジュールはクラスと書き方が似ていますが、クラスと違いインスタンスを持つことができません。また継承もできません。処理だけを纏める機能を持ちます。以下のように記載します。</p>
<pre class="theme:sublime-text lang:ruby decode:true" title="math.rb">#モジュール作成
=begin
構文
module モジュール名
  モジュールの定義
end
=end

module AbcModule
 Number="1.0"  #定数

 def hello(name)
 print name,"さん、こんにちは\n"
 end 
#モジュール関数として登録
 module_function :hello
end

p AbcModule::Number
AbcModule.hello("John")

include AbcModule
p Number
hello("Sara")
</pre>
<p>モジュールは「モジュール名.メソッド名」という形で参照できます。これをモジュール関数といいます。注意しなければいけないのは、モジュール関数を定義しただけでは、モジュール名.メソッド名で呼び出せません。module_functionでモジュール関数を外部に公開して呼び出せるようになります。</p>
<p>モジュールをincludeすることによって、モジュール名を省略することができます。</p>
<pre class="theme:terminal lang:default decode:true" title="実行結果">"1.0"
Jognさん、こんにちは
"1.0"
Saraさん、こんにちは</pre>
<p>モジュールをクラスにインクルードすることを「Mix-in」とよびます。モジュール内のメソッドなどをクラスに取り込むことができます。</p>
<pre class="theme:sublime-text lang:ruby decode:true" title="module.rb">module AbcModule
  #Class1とClass２で共通のメソッドをまとめる
end

class Class1
  include AbcModule
  #固有のメソッドを記載
end

class Class2
  include AbcModule
  #固有のメソッドを記載
end</pre>
<p><span style="font-size: 14pt"> </span></p>
<p><span style="font-size: 24pt">４. 例外処理</span></p>
<p>プログラム実行で起きるエラーは以下のものがあります。</p>
<ul>
<li>データのエラー</li>
<li>システムのエラー</li>
<li>プログラムのエラー</li>
</ul>
<p>例外処理はこのようなエラーが発生した際に、実行されます。今回はraiseメソッドを使って、自分で例外を発生させます。</p>
<pre class="theme:sublime-text lang:ruby decode:true " title="error_test.rb">class ErrorTest
=begin
  begin
    例外が発生するかもしれない処理
  rescue
    例外が発生した際の処理
  end
=end  
  def initialize(name)
    @name=name
  end
 
  def hello
    begin
      raise
      print @name,"\n"
    rescue
      print "エラーが発生しました。\n"
    end
  end  
end

john=ErrorTest.new("John")
john.hello</pre>
<p>&nbsp;</p>
<p>例外処理は、begin~rescue~endを使います。beginに例外が発生するかもしれない処理を書き、rescueに例外が発生した際の処理を書きます。</p>
<p>上記では例外が発生するかもしれない処理の中でまずraiseメソッドが呼ばれ、その後printメソッドが呼ばれています。しかしraiseメソッドは例外を起こすメソッドなので、このメソッドが呼ばれた時点でrescueに処理が移ります。処理が移ったので、rescue側のprintメソッドが呼ばれ、以下が実行結果として出力されます。</p>
<pre class="theme:terminal lang:default decode:true" title="実行結果">エラーが発生しました。
</pre>
<p>&nbsp;</p>
<p>早足でRubyを紹介してきましたが、いかがでしたでしょうか？<br />
Rubyが気になった方は是非、開発環境を整えて、コードを書いてみてください。<br />
次回はRubyのフレームワークであるRailsの紹介をしたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>https://cloudear.jp/blog/?feed=rss2&#038;p=2242</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
