- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一段代码是这样的:
my_hash = {}
first_key = 1
second_key = 2
third_key = 3
my_hash[first_key][second_key][third_key] = 100
ruby 解释器给了我一个错误:
undefined method `[]' for nil:NilClass (NoMethodError)
那么这是否意味着我不能那样使用哈希?还是您认为此错误可能是其他原因造成的?
最佳答案
哈希默认不嵌套。由于 my_hash[first_key]
未设置任何值,因此它是 nil
。并且 nil
不是散列,因此尝试访问其中一个元素失败。
所以:
my_hash = {}
first_key = 1
second_key = 2
third_key = 3
my_hash[first_key] # nil
my_hash[first_key][second_key]
# undefined method `[]' for nil:NilClass (NoMethodError)
my_hash[first_key] = {}
my_hash[first_key][second_key] # nil
my_hash[first_key][second_key] = {}
my_hash[first_key][second_key][third_key] = 100
my_hash[first_key][second_key][third_key] # 100
关于Ruby 哈希错误 : undefined method [] when attempting to set deeply nested keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392584/
我正在使用分形 ( fractal.thephpleague.com ) 通过 Laravel ( laravel.com ) 开发 API。顺便说一句,这是一个了不起的图书馆。 在某些网络服务中,我
当滚动java代码时,我总是坚持recommended convention的. 。通常,这是非常可靠的,可以防止任何命名冲突的问题。但是,当您处理“深度子域”组织时 - 例如 cisb.justic
看到这个错误: enum MyError: ErrorType { case Foo case Bar } func couldThrow(string: String) throws
在我作为工程师(不是软件)的工作中,有时我必须用 Python 编程。按照教程,我了解了字典以及它们如何用于存储数据,它们的速度很快等等。 我嵌套的字典可以达到 7 级,如下所示: mydict['l
昨天,一个好人帮我建了一个PredicateBuilder对于 Linq to Entities here . 似乎工作正常,但是完整的查询生成了这个可怕的 70 000 行长的东西 here (太长
我想知道是否有人可以使用这样的东西: @resources 'projects', -> @resources 'tables', -> @resources 'items'
在 Ionic 中,我正在尝试自定义 但我遇到了 css 中的切换选择问题。我有 2 当我在 css 中设计它们时,它们都是定制的:这是正确的。如果我想给两种不同的习惯,问题就来了!我还没有找到一种方
我认为这是一个一般的 ruby 问题,尽管在我的例子中涉及的对象是 ActiveRecord 模型。 如果我有一个模型可以嵌套在另一个模型中,我如何确定模型的嵌套深度? 即: Model Root
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
尝试从中提取消息文本: HelloI have a very interesting observation on nature of birds in Al
我写了一个函数,当给定一个对象列表和一个id,返回相同的列表,但相应的对象标记为事件(所有其他对象不应处于事件状态)。 const list = [ { id: 1, active: fal
我定义了这个结构: struct s_molecule { std::string res_name; std::vector my_particles; std::vector my_b
如果我想在我的 C++ 代码中拥有以下连接,那么声明头文件的最佳方式是什么,以免出现 'include nested too deep 错误'? 在我的边缘类中,我有一些需要返回 Node 对象的函数
我有两个模型加入了 has_many :through 关系: class Publication :publication_contributors end class Contributor
我有一个包含多个嵌套列的 DataFrame。该模式不是静态的,可能会在我的 Spark 应用程序的上游发生变化。模式演化保证始终向后兼容。下面粘贴了一个匿名的、缩短版本的架构 root |-- i
我有如下 API 响应: [ { "id": 1, "instance_id": 1400, "entity_uuid": 21,
我们将 Entity Framework 更新到 6.1.3,从那时起在一些服务器上(不幸的是那些运行单元测试的服务器),我们现在得到异常: System.Data.SqlClient.SqlExce
我正在使用 Rails 4.2.1 和 active_model_serializers 0.10.0.rc2 我是 API 新手并选择了 active_model_serializers,因为它似乎
我正在寻找 Rails 3.1 的工作教程,它向您展示如何创建一个 3 层深的嵌套模型。 "complex forms" screencasts在 RailsCasts 上似乎不起作用,因为代码已经有
我面临着如何构建组件的决定,我想知道社区是否对最佳实践有任何想法。 1:封装组件以隐藏细节。 所有者渲染: 列表渲染: 项目渲染: ... 在此版本中,组件的可重用性不太好,因为它们了解很多域详细
我是一名优秀的程序员,十分优秀!