「Ruby/class」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→プロパティ) |
(→staticクラス) |
||
| (同じ利用者による、間の4版が非表示) | |||
| 行11: | 行11: | ||
end | end | ||
| − | == | + | ==プロパティ付きクラス== |
class TestService | class TestService | ||
def initialize(name) | def initialize(name) | ||
| 行21: | 行21: | ||
attr_accessor :name | attr_accessor :name | ||
end | end | ||
| − | |||
| − | |||
| − | |||
| − | |||
上記呼び出し | 上記呼び出し | ||
service = TestService.new("test1") | service = TestService.new("test1") | ||
service.exec() # 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 | ||
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
