0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?