Tag: ruby

在Pry中是否有相当的下一个?

使用pry作为debugging器时,我没有看到下一行的方法。 我所能find的就是编辑该方法并将binding.pry移动到下一行。 有这样的function吗? 22: def scan path 23: @last_line_had_text, @files_read, @hands_read = nil, 0, 0 24: Find.find(path){ |file_name| => 25: binding.pry 26: read_file(file_name) if file_name.include?(".txt") 27: } 28: end

如何修复不好的URI不是URI

我使用的Ruby版本1.9.3 ,我喜欢从下面的videourl获取主机名, 我试着用代码 require 'uri' url = "https://ferrari-view.4me.it/view-share/playerp/?plContext=http://ferrari-%201363948628-stream.4mecloud.it/live/ferrari/ngrp:livegenita/manifest.f4m&cartellaConfig=http://ferrari-4me.weebo.it/static/player/config/&cartellaLingua=http://ferrari-4me.weebo.it/static/player/config/&poster=http://pusher.newvision.it:8080/resources/img1.jpg&urlSkin=http://ferrari-4me.weebo.it/static/player/swf/skin.swf?a=1363014732171&method=GET&target_url=http://ferrari-4me.weebo.it/static/player/swf/player.swf&userLanguage=IT&styleTextColor=#000000&autoPlay=true&bufferTime=2&isLive=true&highlightColor=#eb2323&gaTrackerList=UA-23603234-4" puts URI.parse(url).host 它抛出一个exception的URI :: InvalidURIError:坏URI(不是URI?): 我试着编码URL然后像下面parsing puts URI.parse(URI.parse(url)).host 它抛出一个exception相同的URI::InvalidURIError: bad URI(is not URI?) 但上面的代码适用于下面的URL。 url = http://www.youtube.com/v/GpQDa3PUAbU?version=3&autohide=1&autoplay=1 如何解决这个问题? 任何build议请。 谢谢

在Ruby中将一个实例variables添加到一个类中

我如何在运行时将实例variables添加到已定义的类,然后从类外部获取并设置其值? 我正在寻找一个元编程解决scheme,允许我在运行时修改类实例,而不是修改最初定义类的源代码。 一些解决scheme解释了如何在类定义中声明实例variables,但这不是我所问的。

Ruby中的数组和哈希性能

我有一个程序可以存储一个类的许多实例,比方说高达10.000或更多。 类实例有几个我不时需要的属性,但最重要的是ID。 class Document attr_accessor :id def ==(document) document.id == self.id end end 现在,存储数千个这些对象的最快方法是什么? 我曾经把它们全部放入一个文档数组中: documents = Array.new documents << Document.new # etc 现在可以select将其存储在Hash中: documents = Hash.new doc = Document.new documents[doc.id] = doc # etc 在我的应用程序中,我主要需要了解一个文档是否存在。 哈希的has_key? 函数显着快于数组的线性search和Document对象的比较? 都在O(n)之内还是has_key? 甚至O(1) 。 我会看到不同之处吗? 另外,有时我需要添加文件,当它已经存在。 当我使用一个数组,我将不得不与include?检查include? 之前,当我使用哈希,我只是使用has_key? 再次。 同上面的问题。 你怎么看? 当90%的时间我只需要知道ID是否存在(而不是对象本身!)时,什么是存储大量数据的最快方法?

Rails对象关系和JSON呈现

免责声明,我对Rails了解甚less。 我会尽量简洁。 鉴于Rails中的以下模型关系: class ModelA < ActiveRecord::Base belongs_to :ModelB … class ModelB < ActiveRecord::Base has_many :ModelA 当调用ModelA控制器的show动作时,返回的JSON应该显示所有ObjectA,它们是所讨论的ObjectA所属ObjectB的子对象。 所以如果我有一个ObjectB包含ID为1,2和3的ObjectA,然后访问:/modela/1.json 我应该看到: { "modelb": { "id": "1", "modela": [insert the ModelA JSON for ID's 1, 2 and 3] } }

devise/ Rails – 如何删除特定的Flash消息? (成功签字)

使用devise,我想知道是否有办法删除一个特定的Flash消息? (成功签字) 我关心其他味精在视图中,所以只是为了login和签出。 我必须覆盖控制器还是有其他方法? 谢谢!

Ruby – UTF-8文件编码

我们都知道“神奇” # encoding: utf-8 线。 但我已经看到了其他几种备选符号,其中一些非常狂野。 你知道或使用这些吗? 有什么可以接受的更一般的规则吗? 编辑:好的,显然有三种方法: # encoding: UTF-8 # coding: UTF-8 # -*- coding: UTF-8 -*- (更多在http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings )

在Ruby中检测操作系统

有没有办法检测到ruby的操作系统? 我正在开发一个将需要检测MAC与WINDOWS的sketchup工具。

安装Ruby之后,MAC OS X上的活动开发者path无效

我得到这个错误: xcrun: error: invalid active developer path (/Applications/Xcode.app), missing xcrun at: /Applications/Xcode.app/usr/bin/xcrun 此解决scheme工作,但closures我的terminal并重新打开后再次出现错误; 然后我每次打开一个新的terminal窗口都必须运行相同的命令。 我怎样才能应用这些更改,以便在closuresterminal窗口后保存更改?

在Ruby中的参数化获取请求?

我如何使用Ruby中的参数进行HTTP GET请求? 当你在POST时很容易做到: require 'net/http' require 'uri' HTTP.post_form URI.parse('http://www.example.com/search.cgi'), { "q" => "ruby", "max" => "50" } 但是我没有看到使用'net/http'作为散列传递GET参数的方法。