标签: ruby

将驼峰案例转换为ruby中的下划线案例

是否有任何现成的函数将驼峰案例字符串转换为下划线分隔字符串?

我想要这样的东西:

"CamelCaseString".to_underscore      
Run Code Online (Sandbox Code Playgroud)

返回"camel_case_string".

...

ruby string formatting ruby-on-rails case-conversion

222
推荐指数
9
解决办法
15万
查看次数

如何检查文件是否存在

是否有一个Ruby类/方法,我可以传递"完整路径" home/me/a_file.txt,以确定它是否是一个有效的文件路径?

ruby file

221
推荐指数
2
解决办法
18万
查看次数

如何在终端中执行Ruby脚本?

我已经在Mac上设置了所需的一切(Ruby,Rails,Homebrew,Git等),我甚至编写了一个小程序.现在,我如何在终端中执行它?我在Redcar中编写程序并将其保存为.rb,但我不知道如何通过终端执行它.我想运行该程序,看看它是否真的有效.我该怎么做呢?

ruby terminal

220
推荐指数
4
解决办法
31万
查看次数

给定一个类,看看实例是否有方法(Ruby)

我在Ruby中知道我可以respond_to?用来检查对象是否有某种方法.

但是,鉴于课程,我如何检查实例是否有某种方法?

即,像

Foo.new.respond_to?(:bar)
Run Code Online (Sandbox Code Playgroud)

但我觉得有必要比实例化一个新实例更好的方法.

ruby respond-to

219
推荐指数
5
解决办法
10万
查看次数

Ruby中DateTime和Time之间的区别

什么之间的区别DateTime,并Time在Ruby类与哪些因素会导致我选择一个或其他?

ruby time datetime

216
推荐指数
6
解决办法
5万
查看次数

__FILE__在Ruby中意味着什么?

我一直在Ruby中看到这个:

require File.dirname(__FILE__) + "/../../config/environment"  
Run Code Online (Sandbox Code Playgroud)

什么__FILE__意思?

ruby

215
推荐指数
4
解决办法
10万
查看次数

在日历应用程序中为重复事件建模的最佳方法是什么?

我正在构建一个需要支持重复事件的组日历应用程序,但是我提出来处理这些事件的所有解决方案看起来都像是一个黑客.我可以限制前方可以看到的距离,然后立即生成所有事件.或者我可以将事件存储为重复,并在日历上向前看时动态显示它们,但如果有人想要更改特定事件实例的详细信息,我将不得不将它们转换为正常事件.

我确信有更好的方法可以做到这一点,但我还没有找到它.对重复事件建模的最佳方法是什么,您可以在其中更改特定事件实例的详细信息或删除特定事件实例?

(我正在使用Ruby,但请不要让这限制你的答案.如果有一个特定于Ruby的库或其他东西,那么,这很有用.)

ruby algorithm recurrence calendar data-modeling

213
推荐指数
8
解决办法
6万
查看次数

如何从rake任务中提前返回?

我有一个rake任务,我在开始时做一些检查,如果其中一个检查失败,我想从rake任务提前返回,我不想执行任何剩余的代码.

我认为解决方案是在我希望从代码返回的地方放置一个返回但是我得到以下错误

unexpected return
Run Code Online (Sandbox Code Playgroud)

ruby rake

213
推荐指数
6
解决办法
5万
查看次数

如何创建私有类方法?

为什么这种创建私有类方法的方法有效:

class Person

  def self.get_name
    persons_name
  end

  class << self

    private

    def persons_name
      "Sam"
    end
  end
end

puts "Hey, " + Person.get_name
puts "Hey, " + Person.persons_name  #=> raises "private method `persons_name' called for Person:Class (NoMethodError)"
Run Code Online (Sandbox Code Playgroud)

但这不是:

class Person

  def self.get_name
    persons_name
  end

  private

  def self.persons_name
    "Sam"
  end
end

puts "Hey, " + Person.get_name
puts "Hey, " + Person.persons_name
Run Code Online (Sandbox Code Playgroud)

ruby access-specifier

213
推荐指数
6
解决办法
9万
查看次数

Ruby的dup和clone方法有什么区别?

Ruby的文档的dup说:

在一般情况下,clonedup可能在派生类不同的语义.虽然clone用于复制对象(包括其内部状态),但dup通常使用后代对象的类来创建新实例.

但是当我做一些测试时,我发现它们实际上是相同的:

class Test
   attr_accessor :x
end

x = Test.new
x.x = 7
y = x.dup
z = x.clone
y.x => 7
z.x => 7
Run Code Online (Sandbox Code Playgroud)

那么这两种方法有什么区别?

ruby clone dup

213
推荐指数
4
解决办法
8万
查看次数