この記事は完全に個人のRuby開発の際に使用するためだけに作っている。
参考にしていただいてもいいのだが、あくまで個人用という事だけわかって頂きたい。
*執筆者はPHP学習済みなので、飛ばす部分があるが大目に見て欲しい
開発環境
AWS cloud9
理由:パソコンにもうファイルが入れられないし、USBなど外部に入れるとあとあとメンドくさい可能性があるから
#Rubyメモ開始
まつもとゆきひろ氏が作った言語。
最近ベンチャー企業とかでめちゃくちゃ使われている。
比較的書きやすい言語
##環境構築
$ gem install rails -v 5.2.4
$ rails -v
Rails 5.2.4
##Ruby基礎文法
###出力
puts 'hello world'
p "hello world"
#hello world
###型
型についてはPHPとほぼ同じ。
だが妙なものがたくさんある
puts "kaiseiblogの年齢は" + 20 + "才です"
#エラー
puts "kaiseiblogの年齢は" + 20.to_s + "才です"
#kaiseiblogの年齢は20です
#整数型→文字列型(多分toStringって意味)
puts puts 10 + "10"
#エラー
puts puts 10 + "22".to_i
#kaiseiblogの年齢は20です
#32
#文字型→整数列型(tointですね笑)
###文字数数え(length)
puts "kaisei".length
#6
###文字列逆(reverse)
puts "kaiseiblog".reverse
#golbiesiak
###変数
基本はPHPと一緒
###定数
効果はPHPと同じ
アルファベット大文字で始まる識別子は定数
Kaisei = "ばか"
puts Kaisei
#ばか
変えようとするとエラーは出るけど出ちゃうらしい…
###四則演算ほか
数字を文章と繋げて出力したいときは、先ほどのto_sをつける
それがめんどくさい時は以下のものが使える
###変数展開
name = "kaiseiblog"
pv = 8000
puts name + "は" + pv.to_s + "pvの閲覧数がある"
#↓この書き方
puts "#{name}は#{pv}kgです"
注意!!!!:""では使えるけど、''では使えない!
###配列
PHPとめちゃくちゃ似ていてビッくらポン
blog = ["kaiseiblog", "sabichou", "siva"]
puts names[1]
#sabichou
言うことなしですね
###ハッシュやらシンボルやら
age = {"kaiseiblog"=>20, "daniel"=>48, "roland"=>90}
puts age["kaiseiblog"]
#20
age = {:kaiseiblog=>20, :daniel=>48, :roland=>90}
puts age[:kaiseiblog]
#20
###if文
なんか後にコロンが書かなくて良いとかいう優しさを見せるRuby
kaiseiblog_pv = 8000
if kaiseiblog_pv < 5000
puts "アマチュアブロガー"
end
if kaiseiblog_pv >= 5000
puts "プロブロガー"
end
kaiseiblog = "Kaisei"
if kaiseiblog == "Abe"
puts "この人のブログはAbemaです。"
elsif kaiseiblog == "Kaisei"
puts "この人のブログはkaiseiblogです。"
else
puts "誰だお前"
end
###input系
Rubyはユーザーの入力にinput系の関数を使わないらしい
getsってやるぽいですね。
puts "あなたの名前は?"
input_key = gets
puts "あなたの名前は#{input_key}"
#あなたの名前は(入力したもの)
###while系
pv = 8000
while pv < 10000 do
pv += rand(1000..6000)
puts pv
end
#10725
さりげなくランダムも学ぶスタイル
###繰り返し
ややPythonと似てるかな
for i in 1000..8000 do
puts i
end
👆絶対にこれをコピペしないほうがいい。
ターミナルが埋まった
###配列オブジェクト取り出し
なんかPythonで似たのあったよね
amounts = {"kaisei"=>20, "Robert"=>35, "Michel"=>73}
amounts.each do |people, age|
puts "#{people}は#{age}才です。"
end
###繰り返し中断
お馴染みですね
kaisei_age = 0
while kaisei_age <= 100 do
if kaisei_age == 20
puts "現在になりました"
break
end
puts kaisei_age
kaisei_age += kaisei_age
end
###メソッド(関数)
returnとか書かなくていいの?(歓喜)
と思ってたらやっぱりダメだった(二文以上書く場合は、return書かないと最後のやつしか反映されない)
def call(name)
"もしもし! #{name} さん!"
end
puts call("kaisei")
def call(name)
return "もしもし! #{name} さん!"
"おい!#{name}!"
end
puts call("kaisei")
#もしもし!kaiseiさん!
###オブジェクト指向
うわ…だるいのきたよ
(好きだけど)
見た所、ほぼ今までのPythonやPHPと同じ
class Blog
attr_accessor :name, :pv, :ctr
def initialize
self.name = "WordPress"
self.pv = 200
self.ctr = 20
end
def write(article_keyword)
puts "#{self.name}が#{article_keyword}の記事を更新して#{self.pv}回閲覧されました。"
end
end
kaiseiblog = Blog.new
kaiseiblog.write("プログラミング")
多分色々コンストラクトとかあると思うが省略。