`
喵喵
  • 浏览: 5808 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ruby 基础 Array 与 Hash 相互转换

    博客分类:
  • ruby
阅读更多

ruby的api里面有Hash转换成array的方法,但是木有逆转的方法下面给个逆转的方法:
将一维数组转化为哈希 

array = ['A', 'a', 'B', 'b', 'C', 'c']
hash = Hash[*array]
# => {"A"=>"a", "B"=>"b", "C"=>"c"}

 
将二维数组转化为hash

array = [['A', 'a'], ['B', 'b'], ['C', 'c']]
hash = Hash[*array.flatten]
# => {"A"=>"a", "B"=>"b", "C"=>"c"}

 
也可以使用一下方法:

array = [['A', 'a'], ['B', 'b'], ['C', 'c']]
      hash = array.inject({}) do |memo, values|
      memo[values.first] = values.last
      memo
end
# => {"A"=>"a", "B"=>"b", "C"=>"c"}

 

 

分享到:
评论

相关推荐

    Ruby基础知识-数据类型.pdf

    ### Ruby基础知识-数据类型 #### 一、概览 在Ruby语言中,数据类型是程序设计的基本组成部分。本文档旨在详细介绍Ruby支持的各种基本数据类型及其使用方法,包括但不限于Number(数值)、String(字符串)、Ranges...

    ruby语法基础教程.pdf

    ### Ruby语法基础教程知识点概览 #### 一、Ruby语言概述 **1.1 Ruby的历史** - **创始人:** Ruby语言是由日本人松本行弘(Matz)在1995年开始开发的一种脚本语言。 - **发展背景:** 在Perl和Python流行的时代背景...

    ruby-2.3.0

    这对于函数式编程风格的Ruby代码来说是个巨大的提升,尤其是在使用`Array#map`、`Array#select`等方法时。 ```ruby numbers = [1, 2, 3, 4] squared = numbers.map(&:square) # 使用 & 符号将 :square 转换为 Proc ...

    ruby初学者教程(对初学者很有帮助)

    ### Ruby语言介绍与基础知识 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行弘(Matsumoto Yukihiro)于1993年开始开发。起初,Ruby是作为一种兴趣项目而诞生的,但...

    everyday scripting with ruby

    - 数据类型:包括整型(Integer)、浮点型(Float)、字符串(String)、数组(Array)、哈希(Hash)等。 2. **控制流语句** - 条件语句(if/elsif/else):用于根据条件执行不同的代码块。 - 循环语句(for/while/until):...

    dish:将哈希超级简单地转换为普通的 Ruby 对象。 也适用于 RubyMotion

    如果你想在你的 Hash 和 Array 对象中添加一个to_dish辅助方法,你可以在你的Gemfile 中 requiredish dish/ext : gem "dish", require: "dish/ext" 在 RubyMotion 中安装 Dish 完全支持 ,使您能够在 Ruby iOS ...

    Ruby与JSON:无缝数据交换的秘诀

    - **与Ruby对象的无缝映射**:Ruby中的哈希(Hash)和数组(Array)可以轻松地与JSON对象和数组相互转换,这极大地简化了数据处理过程。 ### 使用Ruby标准库处理JSON Ruby的`json`模块提供了`JSON.parse`和`JSON....

    前端学 Ruby:熟悉 Ruby 语法.pdf

    ### 前端学 Ruby:熟悉 Ruby 语法 #### Ruby 是什么? Ruby 是一种动态的、面向对象的脚本语言,由日本人松本行弘在 1995 年设计并开发。作为一种解释型语言,Ruby 具有简单易懂、功能强大且灵活的特点。Ruby 在 ...

    Ruby常见面试题.pdf

    Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同特点。 **数组**是有序的元素集合,可以通过索引访问;**哈希**是键值对的无序集合,通过键来访问对应的值。 **示例**: ```ruby...

    Ruby语言中文教程

    Ruby提供了数组(Array)和哈希(Hash)两种主要的集合类型。数组使用索引访问,而哈希则通过键值对存储数据。Ruby还支持Range、Set和Enumerable等集合操作。 7. **控制结构** 包括条件语句(`if/elsif/else`,`...

    Ruby 基本语言介绍

    **类**是 Ruby 中面向对象编程的基础。可以通过 `class` 关键字定义类,如下所示: ```ruby class Person attr_accessor :name, :age def initialize(name, age) @name = name @age = age end def ...

    Addison.Wesley.Ruby.Phrasebook.Sep.2008

    这部分内容深入探讨了Ruby中的集合数据结构,如数组(Array)和哈希(Hash)。数组用于存储有序的元素列表,而哈希则用于存储键值对。读者可以了解到如何创建、访问和操作这些集合,比如添加元素、删除元素、排序、遍历...

    ruby_1_9_3_core_rdocs

    这个"ruby_1_9_3_core_rdocs"中的文件列表“ruby_1_9_3_core”可能包含了所有核心类库的文档,如Array、Hash、String、Class、Module等。这些文档详细阐述了各个类的方法、用法和示例,是学习和调试Ruby代码的得力...

    Programming Ruby 1.9

    10. **内建类和模块的扩展**:Ruby 1.9对很多内建类和模块进行了扩展和增强,比如`String`、`Array`、`Hash`等,提供了更多便捷的方法。 通过阅读《Programming Ruby 1.9》,读者不仅可以掌握Ruby 1.9的最新特性,...

    Ruby入门教程

    ### Ruby入门教程知识点详解 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行...通过学习以上知识点,读者可以全面掌握Ruby的基础知识,为进一步深入学习打下坚实的基础。

    leetcode-ruby:Ruby中的LeetCode问题

    1. **基础数据类型**:Ruby有几种基本数据类型,包括整数(Integer)、浮点数(Float)、字符串(String)、布尔值(TrueClass/FalseClass)和数组(Array)。在LeetCode问题中,理解和操作这些数据类型至关重要。 ...

    Ruby-FinishingMoves将一些很实用的方法添加至核心Ruby类

    首先,`Finishing Moves`通常会增加对数组(Array)、哈希(Hash)、字符串(String)等核心类的操作。例如,它可能为数组添加了便捷的分组方法,使得按照某个条件快速分组元素变得容易。在处理数据集合时,这种功能...

    changes:ruby 版本更改为 2.5、2.6、2.7、3.0 以及大约 3x3

    1. Ruby 2.5:这个版本引入了一些性能提升和内存管理优化,例如引入了`Hash#transform_keys`方法,使得转换哈希键的操作更加方便。同时,弃用了`Hash#default`和`Hash#default=`,推荐使用`Hash#default_proc`。此外...

    Ruby 数据类型

    Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。 数值类型(Number) 1、整型(Integer) 整型分两种,如果在31位以内...

Global site tag (gtag.js) - Google Analytics