草庐IT

windows - 尝试在 git 中设置一个新的编辑器

全部标签

ruby-on-rails - 如果评估的最后一个语句是 If 语句,Ruby 会返回什么

我的理解是ruby​​返回函数中评估的最后一条语句。如果函数以if语句结束,结果为falsedefthing(input)item=input=="hi"ifitem[]endendputsthing("hi").class#>Arrayputsthing("nothi").class#>NilClass我喜欢这个功能(如果语句为false,则返回nil),但为什么不返回false(从赋值给item)? 最佳答案 如果您的if语句没有运行任何代码,则返回nil,否则返回已运行代码的值。Irb是试验这些东西的好工具。irb(main)

Ruby 的 ARGV 在 Windows 上可以为空,具体取决于运行脚本的方式

我的演示.rb:putsARGV.sizeARGV.eachdo|a|puts"Argument:#{a}"end结果取决于我们如何运行脚本:>demo.rbfoobar0>rubydemo.rbfoobar2Argument:fooArgument:bar为什么会这样?可以用这个做点什么吗?编辑:感谢所有回复!这是我的设置:>assoc.rb.rb=rbFile>ftyperbFilerbFile="c:\ruby-1.8.6\bin\ruby.exe""%1"%*所以看起来是对的。但是我发现了>demo.rbfoobar使用这样的命令行启动进程:"C:\ruby-1.8.7\bin

ruby - Haml "Illegal Nesting"问题;如何在同一个标​​签中放置多个代码元素?

-@subjects.eachdo|s|%tr%td=s.position%td=s.name%td=s.visible?"Yes":"No"%td=s.pages.size%td=link_to("Show",{:action=>"show",:id=>s.id},:class=>"actionshow")=link_to("Edit",{:action=>"edit",:id=>s.id},:class=>"actionedit")=link_to("Delete",{:action=>"delete",:id=>s.id},:class=>"actiondelete")错误消息:

Ruby 从范围创建一个特定的数组

我想知道如何使用ruby​​中的范围生成以下数组["00","00","01","01","02","02",......"10","10"]我想将每个元素重复两次,这就是我要寻找答案的部分。我可以生成单个元素,如下所示("00".."10").to_a我知道我可以使用循环等来做到这一点,但我正在寻找一种更简单的单行代码谢谢 最佳答案 使用Array#zip和Array#flatten:a=("00".."10").to_aa.zip(a).flatten#["00","00","01","01","02","02","03","0

arrays - 如何从数组中删除位于另一个数组索引处的元素

我有两个数组,一个包含数据,一个包含索引。我想知道是否有一些好的方法可以删除indexes中给定位置的data中的元素。我可以做简单的迭代,但我想知道最短的方法是什么:data=['a','b','c','a','b','c','a','b','c']indexes=[2,5,8]//somecodeheredata中的元素在索引恰好与数组索引中的数字重合时消失。它应该看起来像这样:['a','b','a','b','a','b'] 最佳答案 data.values_at(*data.each_index.to_a-indexes)

ruby - 在 proc 中设置全局

我一直在努力更好地理解Ruby,但我遇到了一些问题:$SAFE=1puts$SAFE#1proc{$SAFE=2puts$SAFE#2}.callputs$SAFE#1以上代码部分取自eRB的源代码并重写以更好地突出示例。基本上在proc中,可以将$SAFE的值设置为任何想要的值,并且在proc之后,SAFE的值返回到它在proc之前的值。如果我不使用单词$SAFE,而是将其更改为不同的单词,例如$DOOR:$DOOR=1puts$DOORproc{$DOOR=2puts$DOOR}.callputs$DOOR那么$DOOR在proc之后的值是2而不是1。为什么两个例子有区别?

ruby - git 最好的 ruby​​ api 是什么?

我想实现一个Rake任务,自动执行一些我必须完成的任务,以便将我的更改从开发转移到生产(是的,我知道有像Capistrano这样的东西,它对我来说太多了).中间是gitadd-i等一些交互命令,以及一系列commit和push。在生产方面,将有pull和Assets任务要做。一直输入相同的命令很乏味,所以我想完全自动化。我还没有找到Git的RubyAPI。它应该在Windows7下工作,并且至少允许以下命令:gitadd、gitstatus、gitcommit、gitpush,gitpull. 最佳答案 我知道,坏习惯,但我想记录一

ruby-on-rails - 有没有一种很好的方法来检查一个字符串是否至少包含一个字符串数组中的一个字符串?

string.include?(other_string)用于检查一个字符串是否包含另一个字符串。有没有一种很好的方法来检查字符串是否至少包含字符串数组中的一个字符串?string_1="amonkeyisananimal.dogsarefun"arrays_of_strings_to_check_against=['banana','fruit','animal','dog']这将返回true,因为string_1包含字符串'animal'。如果我们从arrays_of_strings_to_check_against中删除'animal',它将返回false。请注意arrays_o

ruby-on-rails - 在 Rails 中计算到下一个生日的天数

我有一个模型,其中有一个名为birthday的date列。我如何计算距离用户下一个生日还有多少天? 最佳答案 这是一个简单的方法。你要确保捕获今年已经通过的案例(以及尚未通过的案例)classUser=bday(bday-Date.today).to_iendend并证明这一点!(我添加的是timecopgem以保持计算截至今天(2012-10-16)的准确性require'test_helper'classUserTest 关于ruby-on-rails-在Rails中计算到下一个生日

ruby - 测试一个数组的元素是否包含在另一个数组中

我有以下数组:passing_grades=["A","B","C","D"]student2434=["F","A","C","C","B"]我需要验证student数组中的所有元素都包含在passing_grades数组中。在上面的场景中,student2434将返回false。但是这个学生:student777=["C","A","C","C","B"]将返回true。我试过类似的东西:ifstudent777.include?passing_gradesthenreturntrueelsereturnfalseend没有成功。感谢您的帮助。 最佳答案