⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10 - metaprogramming with string evaluations.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
class Numeric [['add', '+'], ['subtract', '-'],   ['multiply', '*',], ['divide', '/']].each do |method, operator|    define_method("#{method}_2") do      method(operator).call(2)    end  endend#---class Numeric  [['add', '+'], ['subtract', '-'],    ['multiply', '*',], ['divide', '/']].each do |method, operator|    module_eval %{ def #{method}_2                     self #{operator} 2                   end }  endend4.add_2                                                  # => 610.divide_2                                              # => 5#---class String  def last(n)    self[-n, n]  endend"Here's a string.".last(7)               # => "string."class String  define_method('last') do |n|   self[-n, n]  endend"Here's a string.".last(7)               # => "string."class String  module_eval %{def last(n)                  self[-n, n]                end}end"Here's a string.".last(7)               # => "string."String.module_eval %{def last(n)                       self[-n, n]                     end}"Here's a string.".last(7)               # => "string."#---class String  eval %{def last(n)           self[-n, n]         end}end"Here's a string.".last(7)               # => "string."#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -