如何在Ruby中为String类创建新函数?

Animesh Pandey

我想检查遇到的字符串类型:

class String
    def is_i?
        /\A[-+]?\d+\z/ === self
    end

    def is_path?
        pn = Pathname.new(self)
        pn.directory?
    end     
end

def check(key)
    puts case key
    when is_i?
        puts "Could be a number"
    when is_path?
        puts "This is a path"
    else
        puts "Ok"
    end
end

当我运行时check("1345425"),出现以下错误:

undefined method `is_i?' for main:Object (NoMethodError)

我该怎么做才能纠正它?

阿列克谢·马蒂什金(Alexei Matiushkin)

您已经在String实例上定义了函数,因此:

def check(key)
    puts case
         when key.is_i?
           "Could be a number"
         when key.is_path?
           "This is a path"
         else
           "Ok"
         end
end

或者

def check(key)
    puts case key
         when ->(s) { s.is_i? }
           "Could be a number"
         when ->(s) { s.is_path? }
           "This is a path"
         else
           "Ok"
         end
end

UPD请注意,我删除了对的不必要的后续调用puts

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Perl中为Point类创建随机函数?

来自分类Dev

如何在Kotlin Android中为数据类创建构造函数?

来自分类常见问题

如何在python中为类动态创建类方法

来自分类Dev

如何在Ruby的Array类中修改map函数的实现

来自分类Dev

如何在JavaScript中创建父类的新实例

来自分类Dev

如何在处理中创建类的新实例

来自分类Dev

如何在Ruby中为几何形状(点,线,正方形,三角形等)创建类

来自分类Dev

如何在Ruby中为每个ID创建哈希

来自分类Dev

如何在Ruby中为每个ID创建哈希

来自分类Dev

如何在Ruby中为Paymill支付创建令牌

来自分类Dev

如何在PowerShell中为SharePoint列表创建新表单?

来自分类Dev

如何在模板类中为模板函数添加别名

来自分类Dev

如何在Typescript中以编程方式创建类函数?

来自分类Dev

JavaScript如何在函数中创建新对象?

来自分类Dev

如何在Julia中为结构创建构造函数?

来自分类Dev

如何在Postgresql中为查询创建帮助函数?

来自分类Dev

如何在Kotlin中为enumValues <T>创建通用函数?

来自分类Dev

如何在新的String函数中对此进行突变?

来自分类Dev

如何在实例化时在新类中创建另一个类的实例?

来自分类Dev

如何在类中创建类的属性?

来自分类Dev

如何在类中创建类的属性?

来自分类Dev

如何在 React Native 中为组件创建单独的类并将其用作通用类?

来自分类Dev

如何在构造函数中为不同的类使用模板化的类

来自分类Dev

我如何在基类中为派生类函数做朋友?

来自分类Dev

Ruby:动态创建新类

来自分类Dev

C#如何使用存储在构造函数变量中的类名创建新对象?

来自分类Dev

如何在python中的类中的任何函数中创建一个可访问的变量?

来自分类Dev

如何在Ruby on Rails 5.2中的belongs_to声明中为多态关系创建别名?

来自分类Dev

如何在Swift中创建类似于Ruby中的扫描的函数

Related 相关文章

  1. 1

    如何在Perl中为Point类创建随机函数?

  2. 2

    如何在Kotlin Android中为数据类创建构造函数?

  3. 3

    如何在python中为类动态创建类方法

  4. 4

    如何在Ruby的Array类中修改map函数的实现

  5. 5

    如何在JavaScript中创建父类的新实例

  6. 6

    如何在处理中创建类的新实例

  7. 7

    如何在Ruby中为几何形状(点,线,正方形,三角形等)创建类

  8. 8

    如何在Ruby中为每个ID创建哈希

  9. 9

    如何在Ruby中为每个ID创建哈希

  10. 10

    如何在Ruby中为Paymill支付创建令牌

  11. 11

    如何在PowerShell中为SharePoint列表创建新表单?

  12. 12

    如何在模板类中为模板函数添加别名

  13. 13

    如何在Typescript中以编程方式创建类函数?

  14. 14

    JavaScript如何在函数中创建新对象?

  15. 15

    如何在Julia中为结构创建构造函数?

  16. 16

    如何在Postgresql中为查询创建帮助函数?

  17. 17

    如何在Kotlin中为enumValues <T>创建通用函数?

  18. 18

    如何在新的String函数中对此进行突变?

  19. 19

    如何在实例化时在新类中创建另一个类的实例?

  20. 20

    如何在类中创建类的属性?

  21. 21

    如何在类中创建类的属性?

  22. 22

    如何在 React Native 中为组件创建单独的类并将其用作通用类?

  23. 23

    如何在构造函数中为不同的类使用模板化的类

  24. 24

    我如何在基类中为派生类函数做朋友?

  25. 25

    Ruby:动态创建新类

  26. 26

    C#如何使用存储在构造函数变量中的类名创建新对象?

  27. 27

    如何在python中的类中的任何函数中创建一个可访问的变量?

  28. 28

    如何在Ruby on Rails 5.2中的belongs_to声明中为多态关系创建别名?

  29. 29

    如何在Swift中创建类似于Ruby中的扫描的函数

热门标签

归档