我正在尝试获取传递给ruby解释器的脚本的引用.例如,如果我正在运行,ruby foo.rb我想获得对该foo.rb文件的引用.
我认为在Python中可以通过它访问sys.argv[0].可以调用,__FILE__但这不是我正在寻找的解决方案,因为__FILE__产生了当前执行代码所在的文件.
有没有办法做到这一点?
为什么会(1..5).each迭代1,2,3,4,5,但(5..1)不会?它返回Range.
1.9.2p290 :007 > (1..5).each do |i| puts i end
1
2
3
4
5
=> 1..5
1.9.2p290 :008 > (5..1).each do |i| puts i end
=> 5..1
Run Code Online (Sandbox Code Playgroud) 给定任何对象我可以调用#public_methods并查看它将响应的所有方法.但是,我发现有时候获得一个没有继承的所有公共方法的快速列表是有用的,也就是那些真正属于这个类的东西.
我找到了" 简单的方法列出Ruby对象的公共方法 ",如果我使用:
(Foo.public_methods - Object.public_methods).sort
Run Code Online (Sandbox Code Playgroud)
我可以过滤掉很多基本的Ruby东西.我希望能够过滤掉链条上一直延续的所有内容.如果我知道父类我可以使用它进行过滤,但我想提出一个通用命令,它可以返回任何对象的未公开公共方法的数组.
红宝石中的神奇评论如何运作?我在说:
# Encoding: utf-8
Run Code Online (Sandbox Code Playgroud)
这是一个预处理指令吗?这种结构还有其他用途吗?
例如,我想按game_date排序,然后如果日期相同,按团队排序?最好的方法是什么?
@teams = @user.teams
@games = @teams.reduce([]) { |aggregate, team| aggregate + team.games}.sort_by(&:game_date)
Run Code Online (Sandbox Code Playgroud) 说到前端代码,你总是在生产中缩小它(删除空格,注释等).
是否应该对服务器代码执行相同的操作?我的服务器文件中通常有很多注释.但我从来没有听说过人们会这样做.
如果以相同的方式优化代码,服务器是否会运行得更快?
我一直thin -V start在开发Thin .
但是,我希望Thin是默认值而不是WEBrick,并且能够启动它rails s.
有没有办法在Rails 3中将Thin设置为默认值而不是WEBrick?
如果那是不可能的,那么至少有一种方法可以自动在测试环境中启动它吗?
我在互联网上环顾四周,但似乎无法找到如何在rails中显示PDF(我只能找到有关如何创建PDF的信息).
有谁知道我需要显示哪个代码/ gem?
是否有一个标准的rails帮助器可以将一个字符串数组["apple", "banana", "pear"]转换"apple, banana, and pear"为插入一个句子中?
由于ruby gem中可能有很多Ghost方法,我认为仅仅通过静态读取源代码来研究ruby gem的内部机制并不是一个好主意.有没有办法将第三方gem的源文件附加到正在运行的ruby进程进行调试,以便我可以设置断点并查看动态如何工作?
顺便说一下,我已经尝试通过点击'require'语句的上下文菜单"Go To-> Implementations"或第三方gem的其他符号来导航到RubyMine中第三方gem的源文件(require 'watir'for例子),没有成功.对于像Ruby这样的动态类型语言的IDE来说,符号导航失败是正常的吗?