`
lj6684
  • 浏览: 965279 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Ruby读取INI文件

    博客分类:
  • Ruby
阅读更多
将读取INI文件的类用Ruby翻译了一下,记下来备用
class INIReader	
  def initialize(fileName)
    @sections = {}		
    current_section, kv_hash = nil
    File.open(fileName).each_line do |line|
      line = line.strip
      if line != ''
        if line[0].chr == '[' and line[-1].chr == ']'
          current_section = line[1, line.length - 2]
          kv_hash = {}
        else					
          kv = line.split("=")
          kv_hash[kv[0]] = kv[1]
          @sections[current_section] = kv_hash
        end
      end
    end
  end
	
  def get_sections
    @sections.keys
  end
	
  def get_keys(sectionName)
    (@sections[sectionName]).keys
  end
	
  def get_value(sectionName, keyName)
    (@sections[sectionName])[keyName]
  end
end

# tester
reader = INIReader.new('test.ini')
puts reader.get_sections
puts reader.get_keys('Section2')
puts reader.get_value('Section3', 'key3')


在编写这段代码时查到一段输出调试Hash的技巧
使用普通的puts方法输出Hash对象是key-value连在一起的,基本不可读;
简单的Hash对象可以使用这种 p 方法输出查看
p hash 

复杂的Hash对象可以使用 pp 方法输出查看,这种输出叫pretty-print
require 'pp'
pp hash
分享到:
评论

相关推荐

    Ruby Ini文件读写

    通过以上内容,你应该对Ruby如何读写INI文件有了全面的了解。无论是使用标准库还是第三方库,都能帮助你高效地处理配置文件,为你的Ruby项目提供便捷的配置管理方案。在实际项目中,可以根据具体需求选择合适的方法...

    Linux编程读取ini文件

    除了上述方法,还可以使用其他语言(如Java、Ruby等)的库或自定义解析逻辑来读取`.ini`文件。关键在于理解文件结构,并使用适当的字符串处理或解析工具。 6. 安全性和权限: 在实际应用中,读取配置文件时要注意...

    linux下兑取ini配置文件

    ### 读取ini文件的工具 在Linux下,没有内置的命令行工具直接用于读取或修改`.ini`文件。但可以通过以下两种常见方法来处理: 1. **使用脚本语言**:你可以使用支持解析`.ini`文件的脚本语言,如Python、Perl或...

    ruby 移动图片小工具

    在Ruby中,可以使用`File`类和`Dir`类来与文件系统交互,比如创建、移动或读取文件。对于图片的元数据,如拍摄日期,Ruby可能通过ImageMagick或MiniMagick这样的第三方库来获取,这两个库能够解析常见的图像文件格式...

    tty-config:随便为终端客户端定义,读取和写入任何Ruby应用程序配置

    读取和写入YAML,JSON,TOML,INI,HCL和Java属性格式的配置文件 添加自定义编组器或覆盖内置编组器 设置和读取深度嵌套键的设置 为未定义的设置设置默认值 读取访问权限无异的设置 合并其他哈希对象的配置设置 从...

    swiftier:快速而肮脏的 Objective-C 到 Swift 的翻译器

    — 一个快速而肮脏的脚本,它读取 Objective-C 源代码并将粗略的部分翻译输出到 Swift。 期望与谷歌翻译产生的流畅和优雅水平相似,即不多。 — 在将 Objective-C 代码转换为 Swift 时,该工具可让您免于进行大量...

    redis的安装

    编辑php.ini文件,添加扩展支持: ```ini extension=redis.so ``` 重启PHP-FPM和Web服务器: ```bash systemctl restart nginx.service systemctl restart php-fpm.service ``` ### Redis的常用命令 - **Keys**...

    rpgtyxgq_downyi.com修改器

    5. Game.ini:游戏配置文件,存储了游戏的各种设置和用户数据,修改器可能通过读取或修改这个文件来改变游戏状态。 6. Snap1.jpg到Snap6.jpg:这些可能是游戏截图,可能用于展示修改器的效果或者作为教程的一部分。...

    MySQLCluster.pdf

    - 需要配置***f和config.ini文件来设置集群参数。 - MySQL Cluster可通过RPM或源代码包安装,且需要设置正确的用户权限。 - 集群节点间通过TCP/IP通信,各节点需要正确配置IP地址和端口号。 - MySQL Cluster支持多种...

    linux svn安装部署

    - 上述配置允许`tearsky`用户对整个仓库有读写权限,其他用户仅有读权限。 #### 五、启动SVN服务 1. **启动SVN服务** - 使用以下命令启动SVN服务,并指定仓库的位置及运行模式。 ```bash svnserve -d -r /svn/...

    主流PHP框架比较.pdf

    Zend Framework 1.5.0版本支持XML和INI文件配置,同时它还集成了PHP PEAR,提供了大量的Web 2.0功能。该框架的官方文档详细介绍了如何利用其组件库进行高效开发。 Symfony是一个成熟的框架,它强调减少编码和开发...

    redis3集群搭建

    - **配置文件的作用**:Redis通过读取配置文件初始化服务器的各种设置,如端口、持久化方式等。 - **启动命令**:使用`redis-server redis.props`来启动Redis实例,其中`redis.props`是指定的配置文件名称。 #### ...

    java开源包1

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

    java开源包11

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

    java开源包2

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

    java开源包3

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

    java开源包6

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

    java开源包5

    INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...

Global site tag (gtag.js) - Google Analytics