facebook twitter hatena line email

「Ruby/class」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==クラスとメソッド== class TestController def hello end end ==継承の仕方== class TestController < ApplicationController def hello end end」)
 
(staticクラス)
 
(同じ利用者による、間の7版が非表示)
行9: 行9:
 
   def hello
 
   def hello
 
   end
 
   end
 +
end
 +
 +
==プロパティ付きクラス==
 +
class TestService
 +
  def initialize(name)
 +
    @name = name
 +
  end
 +
  def exec()
 +
    return @name
 +
  end
 +
  attr_accessor :name
 +
end
 +
 +
上記呼び出し
 +
service = TestService.new("test1")
 +
service.exec() # test1
 +
service.name # test1
 +
 +
==プロパティ属性==
 +
attr_reader :name 参照が可能
 +
attr_writer :name 更新が可能
 +
attr_accessor :name 参照と更新が可能
 +
 +
==staticクラス==
 +
math_utility.rb
 +
module MathUtility
 +
  extend self
 +
  def plus(num, num)
 +
    return num + num
 +
  end
 +
end
 +
 +
呼び出し
 +
MathUtility.plus(1, 2)
 +
 +
==privateメソッド==
 +
class ApiController
 +
  def main
 +
    validate(params[:name])
 +
  end
 +
  private
 +
    def validate(name)
 +
        return "ok"
 +
    end
 
  end
 
  end

2017年11月9日 (木) 05:15時点における最新版

クラスとメソッド

class TestController
 def hello
 end
end

継承の仕方

class TestController < ApplicationController
 def hello
 end
end

プロパティ付きクラス

class TestService
 def initialize(name)
    @name = name
 end
 def exec()
    return @name
 end
 attr_accessor :name
end

上記呼び出し

service = TestService.new("test1")
service.exec() # test1
service.name # test1

プロパティ属性

attr_reader :name	参照が可能
attr_writer :name	更新が可能
attr_accessor :name	参照と更新が可能

staticクラス

math_utility.rb

module MathUtility
  extend self
  def plus(num, num)
    return num + num
  end
end

呼び出し

MathUtility.plus(1, 2)

privateメソッド

class ApiController
  def main
    validate(params[:name])
  end
  private
    def validate(name)
       return "ok"
    end
end