我在Windows上运行Ruby虽然我不知道这是否应该有所作为.我想要做的就是获取当前工作目录的绝对路径.这可能来自irb吗?显然,从脚本中可以使用它File.expand_path(__FILE__)
但是从irb我尝试了以下内容并得到了"Permission denied"错误:
File.new(Dir.new(".").path).expand
Run Code Online (Sandbox Code Playgroud) 我希望得到这样的东西看起来不错:
>> ProductColor.all
=> [#<ProductColor id: 1, name: "White", internal_name: "White", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 2, name: "Ivory", internal_name: "Ivory", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 3, name: "Blue", internal_name: "Light Blue", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 4, name: "Green", internal_name: "Green", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">]
Run Code Online (Sandbox Code Playgroud)
这不起作用:
>> ProductColor.all.inspect
=> "[#<ProductColor id: 1, name: \"White\", internal_name: \"White\", created_at: \"2009-06-10 04:02:44\", updated_at: \"2009-06-10 04:02:44\">, #<ProductColor id: 2, name: \"Ivory\", internal_name: …Run Code Online (Sandbox Code Playgroud) 我遇到了一个非常奇怪的问题.
我在Rails控制台的生产服务器中测试了一些数据库条目,其中几乎所有的命令都产生了大量的o/p行,因此ssh通道被挂起了:(
有没有办法抑制控制台/ irb屏幕?
谢谢
我开始使用Ruby on Rails.我目前正在阅读一个教程,其中说我必须从IRB运行.rb文件,这将在我当前目录中创建一个.xml文件.
我的问题是如何在IRB中运行.rb文件?
当我在IRB中运行它时,我是否必须在此.rb文件所在的目录中?
我尝试了以下操作:只需irb在文件目录中的命令行上输入.据我所知,这开始了IRB会议.
然后我键入了irb "filename.rb"哪个经过但没有在当前目录中创建任何内容,但至少它没有给出任何错误.
我还尝试了一大堆其他明显错误的东西.因此,我认为我自己无法解决这个问题,谷歌搜索这个问题根本没有帮助.
我正在运行Leopard.
我正在使用IRB(交互式ruby控制台)来学习如何使用Ruby编程.如果我先在文本编辑器中编写程序,如何将文件加载到控制台?
比方说,如果我循环遍历给定模型的所有实例并从每个实例输出内容,最后,irb仍将打印整个对象.
如果对象最终需要数百行,那么在我看到我实际需要的内容之前,这将是一个漫长的过程.有没有办法在rails控制台中禁用它?
当我在irb中创建一个新的数组/哈希时,它打印出一个很好的格式来显示结构,例如.
["value1", "value2", "value3"]
{"key1" => "value1"}
Run Code Online (Sandbox Code Playgroud)
...但是当我尝试使用打印出我的变量时puts,我会让它们崩溃:
value1
value2
value3
key1
value1
Run Code Online (Sandbox Code Playgroud)
我认为这puts不是我想要的正确命令,但是什么呢?我希望能够以第一种格式在irb中查看我的变量,而不是第二种格式.
我收到了这个错误,我找不到任何合理的答案,所以我想我会写一个问题的摘要.
如果您在irb中运行此代码段:
JSON.parse( nil )
Run Code Online (Sandbox Code Playgroud)
您将看到以下错误:
TypeError: can't convert nil into String
Run Code Online (Sandbox Code Playgroud)
我有点期待函数返回nil,而不是TypeError.如果您使用转换所有输入to_s,那么您将看到八位字节错误:
JSON::ParserError: A JSON text must at least contain two octets!
Run Code Online (Sandbox Code Playgroud)
那很好,很好.如果你不知道八位字节是什么,请阅读这篇文章以获得摘要和解决方案: 什么是JSON八位字节,为什么需要两个?
解
您传入的变量是一个空字符串.不要尝试在JSON.parse方法中使用空字符串.
题
所以,现在我知道错误的原因,我应该使用什么模式来处理这个问题?我有点厌恶修补JSON库以允许nil值.任何建议将不胜感激.