如何在JavaScript中像Javascript一样在Ruby中动态创建对象及其方法?

前端之家收集整理的这篇文章主要介绍了如何在JavaScript中像Javascript一样在Ruby中动态创建对象及其方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近发现在 Ruby中动态创建对象和方法是相当有用的,这可能是因为我在 Javascript中的背景体验.

在Javascript中,您可以动态创建对象,它的方法如下:

function somewhere_inside_my_code() {
  foo = {};
  foo.bar = function() { /** do something **/ };
};

相当于在Ruby中完成上述语句(如Javascript中一样简单)?

解决方法

您可以使用单例方法来实现.请注意,您可以对所有对象执行此操作,例如:
str = "I like cookies!"

def str.piratize
  self + " Arrrr!"
end

puts str.piratize

输出

I like cookies! Arrrr!

这些方法实际上只是在这个单一的对象(因此名称)上定义,所以这个代码(在上面的代码后执行):

str2 = "Cookies are great!"
puts str2.piratize

只是抛出一个例外:

undefined method `piratize' for "Cookies are great!":String (NoMethodError)

猜你在找的JavaScript相关文章