`
lj6684
  • 浏览: 955050 次
  • 性别: 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的人会有一定的参考价值。剔除一个Bug

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

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

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

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

    JAVA上百实例源码以及开源项目

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    JAVA上百实例源码以及开源项目源代码

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    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写的开源拒绝服务测试...

    java开源包10

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

    java开源包4

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

    java开源包8

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

    java开源包7

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

    java开源包9

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

    java开源包101

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

    Java资源包01

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

Global site tag (gtag.js) - Google Analytics