📄 08 - automatically initializing instance variables.rb
字号:
class RGBColor(red=0, green=0, blue=0) @red = red @green = green @blue = blueend#---class Object private def set_instance_variables(binding, *variables) variables.each do |var| eval("@#{var} = #{var}", binding) end #instance_variable_set("@#{var}", var) endend #---class RGBColor def initialize(red=0, green=0, blue=0) set_instance_variables(binding, *local_variables) endendRGBColor.new(10, 200, 300)# => #<RGBColor:0xb7c22fc8 @red=10, @blue=300, @green=200>#---class RGBColor def initialize(red=0, green=0, blue=0, debug=false) set_instance_variables(binding, *local_variables-['debug']) puts "Color: #{red}/#{green}/#{blue}" if debug endendRGBColor.new(10, 200, 255, true)# Color: 10/200/255# => #<RGBColor:0xb7d309fc @blue=255, @green=200, @red=10>#---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -