Ruby中有没有类似CSS nth-child的方法选择倒数第二个元素?
实现方法
Ruby 数组原生支持负下标定位元素,-1 对应最后一个元素,-2 就是倒数第二个元素,配合安全导航符就能兼容边界异常。
你可以把原代码第三行替换为以下任意一种写法:
- 负下标写法:
result = card.attachments&.[](-2)&.url
- 更易读的
at方法写法:
result = card.attachments&.at(-2)&.url
- 如果你使用的Ruby版本 >=2.5,还可以用语义更明确的
second_to_last方法:
result = card.attachments&.second_to_last&.url
以上写法都兼容你原有逻辑的异常处理:如果attachments为空、或者元素总数不足2个时,会直接返回nil,不会抛出下标越界错误。
内容的提问来源于stack exchange,提问作者McKay Whiting
相关产品推荐
相关产品推荐

