在终端中查看Ruby的输出

时间:2014-11-24 00:57:21

标签: ruby-on-rails ruby terminal

抱歉这个非常基本的问题。

系统信息:

  • 语言 - Ruby
  • Texteditor - Sublime 2
  • Shell - 终端
  • 操作系统 - Mac Mavericks

问题:我在ruby中编写代码。如何在终端中查看代码的结果/输出?例如,当我运行以下代码时,我想看看gsub和squeeze命令如何修改测试文档?

例如:

       require 'tactful_tokenizer'
       require 'treat'           
       require 'pry'            
       require_relative 'lib/extensions/String'

       include Treat::Core::DSL         # Gives quick access to named entity 
       tt = TactfulTokenizer::Model.new # Creates an instance of the tokenizer


       keywordRegexes = [/death/,
                        /died/,
                        /passed \s+ away/xm,]


      #Open example documents

      Dir.glob('examples/*.txt'). each do |filename|
      testdocument = File.open(filename).read


      testdocument.gsub!(/[\n\r]/," ")  
      testdocument.squeeze!(" ")

      end

提前致谢

2 个答案:

答案 0 :(得分:1)

在每种方法之后,您可以使用puts方法查看techdocument变量的状态:

  testdocument.gsub!(/[\n\r]/," ")  
  puts testdocument
  testdocument.squeeze!(" ")
  puts testdocument

答案 1 :(得分:1)

当您使用pry时,可以在.rb文件中的任何位置插入“binding.pry”进行调试并运行ruby文件。这样您就可以运行脚本并动态检查值。

示例:我已将binding.pry插入第5行。并调试代码以获取某些值。

RubyTest用户名$ ruby​​ timetest.rb     “26/11/2014”

From: /Users/username/Languages/Ruby/RubyTest/timetest.rb @ line 5 :

     1: require 'pry'
     2: timenow = (Time.now.utc + 86400).strftime("%d/%m/%Y")
     3: puts timenow.to_s.inspect
     4: 
 =>  5: binding.pry
     6: 
     7: option="24/11/2014 - 30/11/2014"
     8: 
     9: puts option.include? timenow
    10: 

[1] pry(main)> timenow
=> "26/11/2014"
[2] pry(main)> timenow.include?"24/11/2014"
=> false