小编And*_*imm的帖子

如何从Ruby目录中获取文件?

我想我在这里遗漏了一些东西.我有一个这样的目录:

myapp
|-lib
  |-package1
    |-dostuff.rb
  |-package2
    |-dostuff.rb

从一个irb控制台我想测试库之前,我把它添加到我的实际项目(一个Rails应用程序).但是,输入以下内容:

require 'lib/package1/dostuff'
Run Code Online (Sandbox Code Playgroud)

返回错误,说它无法找到要加载的文件.我将lib目录添加到加载路径但我无法加载该文件.

我忘记了什么?这两个文件名不必相同,但它们是如何开始的(它们是从我需要使用soap4r调用的一些Web服务自动生成的;每个包代表一个不同的Web服务API组)

ruby require

0
推荐指数
1
解决办法
261
查看次数

当且仅当Array2元素匹配哈希值(不是键)时,使用Array2 String元素填充ruby Array1

我有一个红宝石哈希:

VALS = { :one => "One", :two => "Two" }
Run Code Online (Sandbox Code Playgroud)

和一个数组:

array2 = ["hello", "world", "One"]
Run Code Online (Sandbox Code Playgroud)

问题:如何填充新的array1,以便它只引入array2中与VALS中的值完全匹配的任何值?

例如,我试过:

array2.each_with_index do |e,i| 
array1 << e if VALS[i] ~= e
end
Run Code Online (Sandbox Code Playgroud)

和其他东西一起,没有工作.菜鸟.

谢谢


辉煌!但是我尝试过:

p array.select { |i| hash.has_value? i ? array[i+1] : "foo"}
Run Code Online (Sandbox Code Playgroud)

我有一个无法转换fixnum错误.我肯定错过了什么.

ruby arrays hash scope nested-loops

0
推荐指数
1
解决办法
272
查看次数

在Ruby中使用已安装的gems并使用'require'

我做的事情sudo gem install json.然后我做irb.然后我做require 'json'.然后它说no such file to load -- json

ruby gem require

0
推荐指数
1
解决办法
154
查看次数

如何在尝试使用Ruby跟踪索引("i")时改进使用.each浏览数组的方式?

假设我做的很简单,.each但我仍然希望保持循环中的位置,我可以这样做:

i = 0
poneys.each do |poney|
  #something involving i
  #something involving poney
  i = i + 1
end
Run Code Online (Sandbox Code Playgroud)

这对我来说看起来不太优雅.所以我想我可以摆脱.each:

for i in 0..poneys.size-1 do
  #something involving i
end
Run Code Online (Sandbox Code Playgroud)

...或类似的不同语法.

问题是如果我想访问我必须做的对象:

for i in 0..poneys.size-1 do
  poney = poneys[i]
  #something involving i
  #something involving poney
end
Run Code Online (Sandbox Code Playgroud)

......那也不是很优雅.

有这么好的干净方式吗?

ruby arrays

0
推荐指数
1
解决办法
97
查看次数

通过键名从ruby中的多维哈希中提取特定值

假设我有一个多维哈希,并且在其中一个子哈希中我有一个key => value对,我需要通过key检索它.我该怎么做?

示例哈希:

h={:x=>1,:y=>2,:z=>{:a=>{:k=>"needle"}}}
h={:k=>"needle"}
Run Code Online (Sandbox Code Playgroud)

关键是永远:k,我需要得到"针"

我注意到红宝石1.8中的哈希没有"扁平"功能,但如果它在那里,我想我会做的

h.flatten[:k]
Run Code Online (Sandbox Code Playgroud)

我想我需要为此编写一个递归函数?

谢谢

ruby hash hash-of-hashes

0
推荐指数
1
解决办法
2486
查看次数

类问题的attr_accessor

我认为可以在这样的特征类中定义attr_accessor方法:

class IOS
  @@modules_paths = "hello"

  class << self
    attr_accessor :modules_paths
  end

end

puts IOS::modules_paths
Run Code Online (Sandbox Code Playgroud)

但这没有任何回报.

有办法吗?

ruby class-variables

0
推荐指数
1
解决办法
1291
查看次数

正则表达式删除红宝石中网址的网页部分

我正在尝试删除URL的网页部分

例如,

www.example.com/home/index.html 
Run Code Online (Sandbox Code Playgroud)

www.example.com/home 
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.
谢谢

ruby regex

0
推荐指数
1
解决办法
2036
查看次数

ruby有像python一样的拉链功能吗?

我是从python到ruby的newibe.

在python中有一个如下功能:

a=range(3)
b=range(3)
for e1,e2 in zip(a,b)
    print e1,e2
Run Code Online (Sandbox Code Playgroud)

有什么东西可以在ruby中实现相同的功能吗?

ruby python arrays

0
推荐指数
1
解决办法
1227
查看次数

我不知道红宝石的要求

我是Ruby的新手

MakModule.rb

module Display
  class Multiply
    def Multiply.mul(first, second)
      return first * second
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

MakRequire1.rb

require "Display"
puts Multiply.mul 5,6
Run Code Online (Sandbox Code Playgroud)

MakRequire2.rb

require "MakModule.rb"
puts Multiply.mul 5,6
Run Code Online (Sandbox Code Playgroud)

两个文件都给我下面的错误

ruby: No such file or directory -- makRequire (LoadError)
Run Code Online (Sandbox Code Playgroud)

我应该如何更正我的代码?

ruby require

0
推荐指数
1
解决办法
1834
查看次数

这样做更优雅的方式?

我一直对自己说,一定有更好的方法,但我现在看不到它......想法?

i = 0; lose = 0; win = 0
while i < @array.size
  results = @array[i].results
  q = 0
  while q < results.size
    if results[q].to_i == 0 then
      lose += 1
    elsif results[q].to_i == 1 then
      win += 1
    else
      puts results[q]
      puts "false"
    end
    q += 1
  end
  i+=1
end
if win == lose then
  puts "true"
else
  puts "false"
end
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
131
查看次数