# -*- coding: utf-8 -*-
=begin
Ruby提供了3种限制层级(仅针对方法,变量不是通过此方式)
public =>将方法公开为外部可以使用的实例方法:
private =>将方法限制为只有内部可以使用(不允许接在接受者后面调用)
protected =>将方法限制为只有内部可以使用。另外,在同一个类中可以作为实例方法使用。
=end
class AccTest
def pub
# self.priv # => error
priv
self.proc
puts "pub is a public method."
end
public :pub # 将pub方法设定为public(不指定意义也一样)
def priv
puts "priv is a private method."
end
private :priv # 将priv方法设定为private
def proc # 将proc方法设定为protected
puts "proc is a protected method."
end
protected :proc
end
acc_test = AccTest.new
acc_test.pub # => priv is a private method.
# proc is a protected method.
# pub is a public method.
# acc_test.proc # eror
# -*- coding: utf-8 -*-
=begin
此文件定义了同时对方法做相同的限制访问
没有特别指定的方法都是public, 单initialize方法是例外,它会恒为private
protected 则可以从同一个类(与其子类)中以实例方法的方式调用,但无法从其他地方调用
=end
class AccTest
public # 没有指定实参的话
# 下面定义的所有方法都是public
def pub
puts "pub is a public method."
end
private # 下面定义的所有方法都是private
def priv
puts "priv is a private method."
end
end
分享到:
相关推荐
- **Refinements**:这是一种新的作用域限制的模块使用方式,可以控制模块的可见性和行为,提高代码隔离。 - **Improved Proc and lambda**:Proc对象的行为更接近lambda,特别是在处理块的返回值时。 - **...
- `Category.where(:name => 'Ruby', :position => 1)`:等价于 SQL 中的 `WHERE name = 'Ruby' AND position = 1`。 - `Category.where(["name = ? OR position = ?", 'Ruby', 3])`:等价于 SQL 中的 `WHERE name...
match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ] } } output { redis { host => "192.168.171.131" port => 6379 data_type => "list" ...
请求速率限制限制=> Rack :: Attack 如何为每日API请求限制运行测试=> curl -I -s“ ” | grep HTTP / curl -I -s“ ” | grep HTTP / 要运行10000个请求,我花了1个小时3分钟。 因此,为了简化测试,请执行此操作...
在默认服务器选项参数中设置了以下选项AuthorizedKeysFile => .ssh / authorized_keys UsePAM =>是子系统=> sftp internal-sftp 密码验证=>是ChallengeResponseAuthentication =>否GSSAPIAuthentication =>是...
req.set_form_data('phone' => phone_number, 'key' => api_key, 'action' => 'send') res = http.request(req) if res.is_a?(Net::HTTPSuccess) puts "验证码已发送至 #{phone_number}" else puts "发送...
ikea = { :chair => 25 , :table => 85 , :mattress => 450 } key_for_min_value ( ikea ) # => :chair veggies = { "apple" => - 45 , "banana" => - 44.5 , "carrot" => - 44.9 } key_for_min_value ( veggies ) ...
ikea = { :chair => 25 , :table => 85 , :mattress => 450 } key_for_min_value ( ikea ) # => :chair veggies = { "apple" => - 45 , "banana" => - 44.5 , "carrot" => - 44.9 } key_for_min_value ( veggies ) ...
ikea = { :chair => 25 , :table => 85 , :mattress => 450 } key_for_min_value ( ikea ) # => :chair veggies = { "apple" => - 45 , "banana" => - 44.5 , "carrot" => - 44.9 } key_for_min_value ( veggies ) ...
ikea = { :chair => 25 , :table => 85 , :mattress => 450 } key_for_min_value ( ikea ) # => :chair veggies = { "apple" => - 45 , "banana" => - 44.5 , "carrot" => - 44.9 } key_for_min_value ( veggies ) ...
ikea = { :chair => 25 , :table => 85 , :mattress => 450 } key_for_min_value ( ikea ) # => :chair veggies = { "apple" => - 45 , "banana" => - 44.5 , "carrot" => - 44.9 } key_for_min_value ( veggies ) ...
'p { 1 + 1 }` 打印“(1 + 1) #=> 2”。 就这样。用法通过 gem install 命令安装后,用你的 Ruby 尝试 sample/sample.rb。 你很快就能得到它。已知错误重要提示: Plock 依赖于 (到目前为止),它有一个很大的限制...
client = Conversocial::Client.new :key => '...', :secret => '...', :logger => Logger.new(STDOUT)另一个选项是cache_expiry选项。 如果设置(默认情况下未设置),则客户端将缓存api请求。 如果您要限制速率,...
confine :libs => "simple-graphite" Ruby 1.9+ JSON样式 confine libs: "simple-graphite" 多个库 confine :libs => ["openstack", "slackcat"] 相当于: confine :libs => "openstack" confine :libs => ...
防火墙约束 Rails 3+4 路由约束的简单白名单防火墙 gem 'firewall_constraint'或者: gem install firewall_constraint##例子配置/routes.rb: get 'dummy/index' => 'dummy#index'get 'dummy/blocked_by_inline' ...
虚拟化(mruby-virtualing) virtualing 是一个轻量级的 Linux 进程虚拟化工具。 创建监狱环境、限制资源、分配IP地址和分离文件系统 使用 安装监狱 见 构建虚拟化 rake ... : cpu_quota => 3000
安装 $ gem install mysql_yearweek示例用法 > require mysql_yearweek=> true> MySQLYearweek.yearweek(Date.new(2013, 07, 25))=> "201330"> MySQLYearweek.yearweek(Date.new(2013, 07, 25), 2)=> "201329"限制这...
MySQL的 目录 限制-操作系统兼容性等 开发-贡献模块指南 模块说明 mysql模块安装,配置和管理MySQL服务。 该模块管理MySQL的安装和配置,以及扩展Puppet以允许管理MySQL资源,例如... override_options => $over
version => ' 0.1.0 ' , } 安装后,您可以使用以下两种定义的类型来构建图像并在 Rocket 下运行应用程序。 rocket::image { 'hello.aci' : source => ' /vagrant/hello ' , output_dir => ' /vagrant ' , } ...