草庐IT

MySQL,删除和索引提示

全部标签

ruby - 从数组 Ruby 中删除元素

假设我正在尝试从数组a=[1,1,1,2,2,3]中删除元素。如果我执行以下操作:b=a-[1,3]然后我会得到:b=[2,2]但是,我想要的结果是b=[1,1,2,2]即我只删除减去向量中每个元素的一个实例,而不是所有情况。在Ruby中有一种简单的方法可以做到这一点吗? 最佳答案 你可以这样做:a=[1,1,1,2,2,3]delete_list=[1,3]delete_list.eachdo|del|a.delete_at(a.index(del))end结果:[1,1,2,2] 关

ruby - 如何使用 Ruby-Rails 删除文件夹的所有内容?

我有一个包含文件和文件夹的public/cache文件夹。如何使用rake任务完全清空该文件夹? 最佳答案 Ruby在FileUtils中有*nixrm-rf等价物可用于删除文件和非空文件夹/目录的模块:FileUtils.rm_rf('dir/to/remove')要保留目录本身并仅删除其内容:FileUtils.rm_rf(Dir.glob('dir/to/remove/*'))FileUtils.rm_rf(Dir['dir/to/remove/*'])#shorterversionofabove

ruby - 如何在 Ruby 中找到字符串中字符的索引?

如果我有str='abcdefg',我如何使用Ruby在这个字符串中找到c的索引? 最佳答案 index(substring[,offset])→fixnumornilindex(regexp[,offset])→fixnumornil返回给定子字符串或模式(regexp)在str中第一次出现的索引。如果找不到则返回nil。如果存在第二个参数,则它指定字符串中开始搜索的位置。"hello".index('e')#=>1"hello".index('lo')#=>3"hello".index('a')#=>nil"hello".ind

ruby - 如何使用 Ruby 删除回车符?

我认为这段代码可以工作,但正则表达式永远不会匹配\r\n。我在十六进制编辑器中查看了正在读取的数据,并验证文件中确实存在十六进制D和十六进制A模式。我也试过正则表达式/\xD\xA/m和/\x0D\x0A/m但它们也不匹配。这是我现在的代码:lines2=lines.gsub(/\r\n/m,"\n")if(lines==lines2)print"stillthesame\n"elseprint"madethechange\n"end除了备选方案之外,如果知道我做错了什么(以促进我的学习),那就太好了。:) 最佳答案 使用Strin

ruby-on-rails - 哈希删除除特定键之外的所有内容

我想从散列中删除除给定键之外的所有键。例如:{"firstName":"John","lastName":"Smith","age":25,"address":{"streetAddress":"212ndStreet","city":"NewYork","state":"NY","postalCode":"10021"},"phoneNumber":[{"type":"home","number":"212555-1234"},{"type":"fax","number":"646555-4567"}]}我想删除除“firstName”和/或“address”之外的所有内容。

Ruby 字符串切片索引 : str[n. .infinity]

简单的问题,但在文档中找不到。如何将字符串或数组从n切到永远?>>'Austin'[1..3]=>"ust">>'Austin'[1..]SyntaxError:compileerror(irb):2:syntaxerror,unexpected']'from(irb):2 最佳答案 使用反向索引:[1..-1]Ruby(和其他一些语言)中的元素有直接索引和“反向”索引。因此,长度为n的字符串有0..(n-1)和额外的(-n)..-1索引,但仅此而已——您不能使用>=n或索引。'i''n'|'A''u''s''t''i''n'|'A

ruby - 如何从 Ruby 中的字符串中删除特定字符?

我有几个看起来像这样的字符串:"((String1))"它们的长度都不一样。我怎样才能从循环中的所有这些字符串中删除括号? 最佳答案 使用String#tr执行以下操作:"((String1))".tr('()','')#=>"String1" 关于ruby-如何从Ruby中的字符串中删除特定字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19637677/

ruby - 如何删除已安装的 ri 和 rdoc?

如何删除已安装的gem的ri和rdoc?谢谢 最佳答案 您可以简单地删除RubyGems安装目录中的doc目录。rm-r`gemenvgemdir`/doc在MacOSX上,默认情况下,它是/Library/Ruby/Gems/1.8/doc。请记住,RubyGems可能有多个安装目录。RubyGems将尝试安装到您的用户目录(类似于~/.gem/ruby/1.8/)如果它不能访问正常的安装目录(例如,您安装了一个没有sudo).RVM还会为它安装的每个Ruby安装RubyGems,其中包含一个doc目录,其中包含rdoc和ri文件

ruby - Ruby 中用于显示提示、获取输入和分配给变量的代码?

我经常发现自己在做以下事情:print"Inputtext:"input=gets.strip是否有一种优雅的方式可以在一行中完成此操作?像这样的东西:puts"Inputtext:#{input=gets.strip}"问题是它在显示提示之前等待输入。有什么想法吗? 最佳答案 我认为采用像Marc-Andre建议的方式将是可行的方法,但是当您可以在任何脚本的顶部定义两行函数时,为什么要引入一大堆代码将要使用:defprompt(*args)print(*args)getsendname=prompt"Inputname:"

ruby - 如何获取在 Ruby 中调用使用提示的命令的名称?

不久前我写了一个不错的小Ruby脚本,我非常喜欢。我想通过检查适当数量的参数来提高它的健壮性:ifARGV.length!=2thenputs"Usage:arg1arg2"end当然这是伪代码。无论如何,在C或C++中,我可以使用argv[0]来获取用户用来获取我的命令的名称,无论他们是否像./myScript.rb或myScript.rb或/usr/local/bin/myScript.rb。在Ruby中,我知道ARGV[0]是第一个真正的参数,而ARGV不包含命令名称。有什么办法可以得到这个吗? 最佳答案 Ruby提供了三种方