facebook twitter hatena line email

「Ruby/class」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(プロパティ属性)
(staticクラス)
 
行43: 行43:
 
呼び出し
 
呼び出し
 
  MathUtility.plus(1, 2)
 
  MathUtility.plus(1, 2)
 +
 +
==privateメソッド==
 +
class ApiController
 +
  def main
 +
    validate(params[:name])
 +
  end
 +
  private
 +
    def validate(name)
 +
        return "ok"
 +
    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