geekday’s diary

超絶初心者のエンジニアがいろいろなプログラミング言語に挑戦してみるブログです。

ruby on Railsの開発環境をmacに入れてみた①

備忘録程度のメモ。結構いろいろと詰まった。。

まずは以下のサイトにざっと目を通す。

(※僕のMacOSはEl Capitanだった)

qiita.com

こちらで確認し、

①Homebrew

②rbenv

③bundler(gem)

rails

の4つをインストールしていく。

 

まずは①のHomebrewをインストールするので、

ターミナルを起動し、Homebrew公式サイトにある

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

こちらをそのままコピペ。

なんかの拍子にxcodeはDL済みだったのでエラーは出ずすんなりそのまま完了。

brew doctorコマンドを入力すると、

ready to brewと出たので一安心。

 

次に②rbenvのインストール

brew install rbenvコマンドで一気にインストールし、完了。

ここまではサクサク。

 

その後、rbenv install -lをするとインストール可能なrubyのバージョンが一覧で出てくる。

参考文献の多さという観点からちょっと迷ったが、最新版の2.4.0を落とすことにし、

rbenv install 2.4.0コマンドを入力。

そしてその後初めての壁が。

ruby -v でバージョンをみると、2.4.0を入れたのにもかかわらずmacのデフォルトの2.0.0が出てくる。なぜ。。

どうやら、rbenv globalにて、デフォルトで使用するrubyのバージョン設定変更ができていなかった模様。

で、ぐぐると以下のサイトを発見。

qiita.com

つまり、which rubyと入力してみて出てきたところのパスが、

/usr/bin/ruby とデフォルトのところのままの設定でしたね、というお話。

よって、

qiita.com

ここなんかも参考にしつつ、(~/.rbenv/のなかにbinはない。。

export PATH="$HOME/.rbenv/shims:$PATH"

でパスを正しいものに変更。

ターミナル再起動 or sourceコマンドでリロード的なことをやらないと変更が反映されないことに気づくのが遅くなったこともあり苦労しつつ、

ruby -v で2.4.0が! やりましたー。

 

続く。 

 

 

 

 

swiftの変数についてまとめてみた③

定数・変数において、データ型が違うもの同士を一括で出力ができないので、以下のようにキャストをして出力をする。

let message: String = "歳の誕生日!"
let age: Int = 20

//ageをString型にキャストして出力
print(String(age) + message)

let price: Int = 300
let taxRate: Double = 0.08

// priceをDouble型にキャストして出力
print(Double(price)*taxRate)

 やや手間なのと、いまさらだけど「S」tring.「D」oubleと大文字にしないとエラーになるので注意。

 

swiftの変数についてまとめてみた

// String型の定数messageに"Hello"を代入する
let message: String = "Hello"

// Double型の定数rateに0.07を代入してください
let rate: Double = 0.07

// 定数rateを出力する。
print(rate)

 swiftで定数に代入するには、まずはデータ型(string,int,double)を指定し、

let 変数名:データ型= 代入したいもの

であらわす。ちょっとJavaチックですね。

ちなみに、変数の場合はlet→varになる。

定数=変化しないもの

変数=変化する(再代入など)もの

という切り分けができる。

rubyでクラスを生成、呼び出すまで。

#Carクラスの定義

class Car

# chatメソッドを定義する
def chat
 puts "私はいえです。名前はまだありません"
 end
end

#Carクラスを呼び出す

my_car = Car.new

# my_carに対してchatメソッドを呼び出す
my_car.chat

 rubyでのクラスの生成方法は上記。

class 先頭大文字

#処理

end

 

 ちなみに、メソッドの定義は

def メソッド名(引数)

#処理

end

 

ハッシュ・配列への繰り返し.eachメソッド

words = {'book' => '本', 'apple' => 'りんご', 'dog' => '犬'}

# ハッシュに対し、eachメソッドで以下処理を行う
words.each do |key,value|
puts "#{value}は英語で#{key}です"
end

 これをやると、本は英語でbookです、りんごは英語でappleです・・と繰り返される。

ハッシュ.each do |key,value|

 処理

end

 で、ハッシュに対し繰り返し処理をかけることが可能。

なお、配列の場合は

配列.each do|変数|

 処理

end

 

となる。