博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ruby 方法(2)
阅读量:5255 次
发布时间:2019-06-14

本文共 1110 字,大约阅读时间需要 3 分钟。

exclude和include

exclude:排除特定对象

include :包含特定对象

 

inject

[1,2,3].inject(0) {|memo, obj| memo + obj}

[1,2,3].inject(0, &:+)

map

a = ['bob', 'bill']

a.map(&:capitalize)

=> ["Bob", "Bill"]

 

tap and try

tap

%w(x y z).push('a').shift.tap {|x| p x }.upcase.next
[].tap {|i| i << "abc"}''.tap {|i| i << do_some_thing }

try

.try(:name).try { |p| "#{p.first_name} #{p.last_name}" }

 

返回调用函数的时候是否有block参数传人:block_given?

 

查看数组最后一项是不是Hash:extract_options!

def my_method(*args)  options = args.extract_options!  puts "Arguments:  #{
args.inspect}" puts "Options: #{
options.inspect}"endmy_method(1, 2)# Arguments: [1, 2]# Options: {}my_method(1, 2, :a => :b)# Arguments: [1, 2]# Options: {:a=>:b}

跳过modle更新数据库:

ActiveRecord::Base.connection.execute("update corps set followers_count = #{followers_count} and staffers_count = #{staffers_count} where id = 1")

 

attributes对象:

c = Corp.last

c.send(:attributes=, {is_company_page: false, alias_id: c1.id })

 

获取ActiveRecord::Base中的字段值:

ap Corp   

class Corp < ActiveRecord::Base {

                          :id => :integer,

                        :name => :string,

}

转载于:https://www.cnblogs.com/qinyan20/p/3654625.html

你可能感兴趣的文章
POJ2115 C Looooops
查看>>
单例模式
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>
设计模式-(17)策略模式 (swift版)
查看>>
如何阅读大型前端开源项目的源码(转)
查看>>
error:Your local changes to the follwing files would be overwritten by merge
查看>>
java.util.Arrays类详解
查看>>
idea搭建tocmat
查看>>
NYOJ-626-intersection set(二分查找)
查看>>
web上传
查看>>
poj-1423 NYOJ_69 数字长度 斯特林公式 对数应用
查看>>
Postman调试依赖登录接口的3种方法
查看>>
phpstudy升级mysql版本到5.7 ,重启mysql不启动
查看>>
什么样的经历,才能领悟成为架构师? >>>
查看>>
Cocos2d-x内置粒子系统
查看>>
Mysql 修改root 密码
查看>>
vue实现表计监测界面
查看>>
mysql 索引技巧
查看>>
函数进阶
查看>>