当前位置:  开发笔记 > 编程语言 > 正文

Ruby Object会员访问:如何完成?

如何解决《RubyObject会员访问:如何完成?》经验,为你挑选了1个好方法。

看了这个问题:

如何将对象的字段转储到控制台?

我有一个相关的问题.我对Ruby比较陌生,所以希望这很明显.我有我认为是从MIME :: Types库生成的Ruby对象.我希望得到一个特定文件的简单文件类型.这是在irb中发生的事情:

>> require 'mime/types'
=> ["MIME"]
>> text = MIME::Types['text/plain; charset=us-ascii']
=> [#, #]
>> puts text.media_type
NoMethodError: undefined method `media_type' for #
    from (irb):4

我的理解是我应该能够使用点语法访问这个对象的属性 - 实际上,我从(http://mime-types.rubyforge.org/)学到的这个页面就是这样说的!那么为什么我会得到一个"无方法"错误呢?我尝试了各种其他语法,但没有运气.

先谢谢,亚伦.



1> Gordon Wilso..:

MIME::Types返回一个MIME::Type对象数组.这些对象会像您期望的那样响应.

>> puts text[0].media_type
text
=> nil

Ruby的class方法对于诊断此类问题很有用.

>> puts text.class
array
=> nil

您还可以使用该methods方法获取对象响应的方法的完整列表.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有