本文介绍了Ruby:如何制作公共静态方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Java 中我可能会这样做:
In Java I might do:
public static void doSomething();然后我可以在不创建实例的情况下静态访问该方法:
And then I can access the method statically without making an instance:
className.doSomething();我怎样才能在 Ruby 中做到这一点?这是我的课程,根据我的理解 self. 使方法静态:
How can I do that in Ruby? this is my class and from my understanding self. makes the method static:
class Ask def self.make_permalink(phrase) phrase.strip.downcase.gsub! /\ +/, '-' end end但是当我尝试打电话时:
But when i try to call:
Ask.make_permalink("make a slug out of this line")我明白了:
undefined method `make_permalink' for Ask:Class如果我没有将方法声明为私有,为什么会这样?
Why is that if i haven't declared the method to be private?
推荐答案您给出的示例运行良好
class Ask def self.make_permalink(phrase) phrase.strip.downcase.gsub! /\ +/, '-' end end Ask.make_permalink("make a slug out of this line")我在 1.8.7 和 1.9.3 中都尝试过您的原始脚本中是否有错别字?
I tried in 1.8.7 and also in 1.9.3 Do you have a typo in you original script?
一切顺利
更多推荐
Ruby:如何制作公共静态方法?
发布评论