「Ruby/class」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→継承の仕方) |
(→staticクラス) |
||
(同じ利用者による、間の6版が非表示) | |||
行11: | 行11: | ||
end | end | ||
− | == | + | ==プロパティ付きクラス== |
class TestService | class TestService | ||
def initialize(name) | def initialize(name) | ||
行20: | 行20: | ||
end | end | ||
attr_accessor :name | 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