「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
