gpt4 book ai didi

没有 Rails 的 Ruby 的 `.present?`?

转载 作者:数据小太阳 更新时间:2023-10-29 08:29:53 25 4
gpt4 key购买 nike

我正在开发用于自动化的“无 Rails”Ruby 守护程序(尽管理论上它在 Rails 目录中运行)。对于一般目的和事情的原则,我想找到(最)“本地”/常用的方法来利用 Ruby 版本的 .present?/.blank?/.empty?/.nil? 来识别数组或(散列)值是否存在且不为空(即 []{})。

据我所知read (例如,Stack Overflow)并经过测试,所有这些函数似乎都是特定于 Rails 的方法,是 ActiveSupport(?) 的一部分。

来自其他网络/解释器语言(PHP、Python、JS 等),这是一个通用逻辑函数,大多数语言(大多数语言使用数组)都以某种方式构建了此功能(例如,PHP 的isset( ... ) 或 JavaScript 的 .length)。

我知道 .blank? 有 RegEx 解决方法,但是 .present? 似乎需要异常处理来确定它是否“存在”)。我很难相信它不存在,但没有 Rails 的参与,很少有人谈论 Ruby。

最佳答案

Active Support 分成小块,以便您可以加载所需的内容。对于 .blank?.present? 方法,要求就足够了:

require 'active_support/core_ext/object/blank.rb'

As docs say .

Object#nil? , Array#empty?Hash#empty?已经定义,因此您不需要任何要求来使用它们。

确保 active_support gem 安装在你的系统中

关于没有 Rails 的 Ruby 的 `.present?`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49877288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com