如何理解extract_options!
来源:互联网 发布:客观评价张学良知乎 编辑:程序博客网 时间:2024/05/16 19:55
当你在阅读程序的时候,你经常碰到下面的程序
def my_method(*args) options = args.extract_options! puts "Arguments: #{args.inspect}" puts "Options: #{options.inspect}"end
有可能很多人看不多
现在给两个列子
1.
my_method(1, 2)# Arguments: [1, 2]# Options: {}
2.
my_method(1, 2, :a => :b)# Arguments: [1, 2]# Options: {:a=>:b}
现在看懂了吗? 不过一定要记住这个在ruby中没有,而是存在于rails中。
好了,让我们用这个简单的功能写个程序吧
def g_html(sym, *args)
options = args.extract_options!
if options[:class]
"<#{sym} class='#{options[:class]}'>#{args.first}</#{sym}>"
else
"<#{sym}>#{args.first}</#{sym}>" if args.first.present?
end
end
- 如何理解extract_options!
- 如何理解三层
- 如何理解一个函数?
- 如何理解ERP
- 如何理解LPCTSTR类型?
- 如何理解LPCTSTR类型?
- 如何理解异常
- MSIL如何理解
- 如何理解exists sql
- 如何理解Topo1
- 如何理解Semihosting
- 如何理解佛教
- 如何理解Library List
- Tmodel如何理解
- 如何深入浅出理解SOA?
- 如何理解LPCTSTR
- 如何理解LPCTSTR、TCHAR
- 如何理解佛教?
- XML学习之Xml Schema:十、一致性约束
- JEECG开源说明:JEECG 完全开源,不收任何费用,可以任用于商业!
- Strut2判断是否是AJAX调用
- Installutil.exe的位置和路径
- Sql server 的update语句的新认识
- 如何理解extract_options!
- 如何说服别人,如何让别人理解自己
- C# 将bit流转化为十六进制显示出来
- [举重若轻]python+django+mysql web开发入门学习之动态模板
- svn入门续-1
- Mysql双主自增长冲突处理
- MSSQL2008下查看结构变化监控,Schema Change History
- 黑马程序员__JAVA基础加强--类加载器和代理总结
- elasticsearch集群监控工具bigdesk