0
0

More than 3 years have passed since last update.

Ruby 基礎

Last updated at Posted at 2020-11-08

この記事は完全に個人の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("プログラミング")


多分色々コンストラクトとかあると思うが省略。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0