小编Ste*_*fan的帖子

Rails - 将时间转换为字符串

这是我要转换的时间格式

time = Time.parse('2020-07-02 03:59:59.999 UTC')
#=> 2020-07-02 03:59:59 UTC
Run Code Online (Sandbox Code Playgroud)

我想以这种格式转换为字符串。

"2020-07-02T03:59:59.999Z"
Run Code Online (Sandbox Code Playgroud)

我试过了。

time.strftime("%Y-%m-%dT%H:%M:%S.999Z")
Run Code Online (Sandbox Code Playgroud)

这样对吗?有什么更好的办法吗?

ruby time datetime ruby-on-rails

2
推荐指数
1
解决办法
306
查看次数

如何在ruby中获取调用者对象名称?

通常,从不同的对象A,B,C调用相同的方法X.是否可以从方法X内部获取调用者对象(A,B,C)的名称

例如:

class Sample
  def method
    # what needs to be done here?
  end
end

n1 = Sample.new
n2 = Sample.new

n1.method #=> expected output is to print n1
n2.method #=> expected output is to print n2
Run Code Online (Sandbox Code Playgroud)

ruby object

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

Ruby:在块中实例化一个新变量

我正在尝试缩短我的Ruby代码.

def count_palindromes_in_an(array)
  palindromes = 0
  array.each { |word| palindromes += 1 if word == word.reverse }
  return palindromes
end
Run Code Online (Sandbox Code Playgroud)

这样就可以在每种方法执行的块中实例化palindromes.有点像;

def count_palindromes_in_an(array)
  array.each { |word| (palindromes != nil ? palindromes += 1 : palindromes = 1) if word == word.reverse }
  return palindromes
end
Run Code Online (Sandbox Code Playgroud)

但是这会返回错误undefined method 'palindromes'.任何提示都感激不尽.

ruby

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

Ruby:有点像匿名函数吗?

在JavaScript中我可以做类似的事情:

var foo = function(){
  var a = 5;
  a = a*a;
  return a;
}();
Run Code Online (Sandbox Code Playgroud)

所以我可以定义一次只使用一次的匿名函数.我在尝试,但我的做法是错误的:

foo = {
  a = 5
  a = a*a
  return a
}
#=> SyntaxError: unexpected '\n'...

foo = do
  a = 5
  a = a*a
  a
end
#=> SyntaxError: unexpected keyword_do_block...

foo = {
  a = 5
  a = a*a
  a
}()
#=> SyntaxError: unexpected '\n'...
Run Code Online (Sandbox Code Playgroud)

javascript ruby

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

如何打印具有固定列宽的2D数组

我有一个数组:

animals = [
  ["cats", "dogs"],
  ["verrylongcat", "dog"],
  ["shortcat", "verrylongdog"],
  ["cat", "dog"]
]
Run Code Online (Sandbox Code Playgroud)

而且我想很好地展示它.是否有一种简单的方法使colums固定宽度,所以我得到这样的东西:

cats            dogs
verrylongcat    dog
shortcat        verrylongdog
cat             dog
Run Code Online (Sandbox Code Playgroud)

animals 只是一个例子,我的数组也可能有3列,4列甚至更多.

ruby printing arrays 2d

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

没有那个特定的行,我的代码不起作用.为什么?

puts "Enter the first number"
num1 = Float(gets)

puts "Enter the second number"
num2 = Float(gets)

puts "Enter the operation"
op = gets
op = op.chomp # <--- THIS LINE!

case op 
when "+" then puts num1 + num2
when "-" then puts num1 - num2    
when "*" then puts num1 * num2    
when "/" then puts num1 / num2
end
Run Code Online (Sandbox Code Playgroud)

ruby chomp

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

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

在 Ruby 中操作嵌套哈希数组的输出

我一直在从 JSON 中的 API 中提取数据,并且目前正在遇到一个重要的问题

数据是关于公司的,比如谷歌和 Facebook,并且在一个数组或散列中,如下所示:

[
  {"id"=>"1", "properties"=>{"name"=>"Google", "stock_symbol"=>GOOG, "primary_role"=>"company"}},
  {"id"=>"2", "properties"=>{"name"=>"Facebook", "stock_symbol"=>FB, "primary_role"=>"company"}}
]
Run Code Online (Sandbox Code Playgroud)

以下是我想尝试的两种操作:

  1. 对于每家公司,打印出名称、ID 和股票代码(即“Google - 1 - GOOG”和“Facebook - 2 - FB”)
  2. 从 Google 和 Facebook 中删除“主要角色”键/值
  3. 为 Google 和 Facebook 分配新的“行业”键/值

有任何想法吗?

我是 Ruby 的初学者,但是遇到了一些用于数组和哈希的函数/方法(例如未定义的方法)的问题,因为这看起来是一个哈希数组

谢谢!

ruby arrays hash

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

如何检查数组是否与Ruby中的另一个数组共享元素?

我目前正在尝试查看记录数组是否与另一个数组共享元素.

我正在使用splat运算符为这样的条件:

if @user.tags.include?(*current_tags)
    # code
end
Run Code Online (Sandbox Code Playgroud)

这在标记存在时有效,但在current_tags空时返回此错误.

错误的参数数量(给定0,预期1)

这在我的应用程序中发生了很多,所以我想知道是否有任何替代方案来实现相同的功能,但在其他方式,如果current_tags是一个空数组将不会爆炸.

ruby ruby-on-rails

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

块参数中的 _ 是什么意思?

我想知道是否有人可以向我解释一下破折​​号占位符的作用?

def remove_every_other(arr)
  arr.select.with_index { |_,idx| idx.even? }
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

标签 统计

ruby ×9

arrays ×2

ruby-on-rails ×2

2d ×1

chomp ×1

datetime ×1

git ×1

hash ×1

javascript ×1

object ×1

printing ×1

time ×1