标签: ruby

很好地将输出格式化为控制台,指定选项卡的数量

我正在生成一个向控制台输出信息的脚本.信息是某种具有价值的统计数据.就像哈希一样.

所以一个值的名称可能是8个字符长,另一个值是3.当我循环输出信息时,有两个\ t\t\t \n某些列未正确对齐.

例如,输出可能是这样的:

long value name          14
short              12
little             13
tiny               123421
long name again          912421
Run Code Online (Sandbox Code Playgroud)

我希望所有值都正确排列.现在我这样做:

puts "#{value_name} - \t\t #{value}"
Run Code Online (Sandbox Code Playgroud)

我怎么能说长名,只使用一个标签?还是有其他解决方案吗?

ruby formatted

54
推荐指数
4
解决办法
7万
查看次数

如何在Ruby中打破外循环?

在Perl中,有能力打破这样的外部循环:

AAA: for my $stuff (@otherstuff) {
         for my $foo (@bar) {
             last AAA if (somethingbad());
         }
      }
Run Code Online (Sandbox Code Playgroud)

(语法可能有误),它使用循环标签从内部循环内部中断外部循环.Ruby中有类似的东西吗?

ruby loops cycle

54
推荐指数
3
解决办法
3万
查看次数

Ruby XML到JSON转换器?

是否有一个库可以在Ruby中将XML转换为JSON?

ruby xml json converter

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

如何使用Nokogiri删除节点?

如何<img>使用Nokogiri 删除标签?

我有以下代码,但它不会工作:

# str = '<img src="canadascapital.gc.ca/data/2/rec_imgs/5005_Pepsi_H1NB.gif"/…; testt<a href="#">test</a>tfbu' 

f = Nokogiri::XML.fragment(str)
f.search('//img').each do |node| 
  node.remove
end
puts f
Run Code Online (Sandbox Code Playgroud)

ruby nokogiri

54
推荐指数
2
解决办法
3万
查看次数

用Rails截断字符串?

我想截断一个字符串如下:

输入:

string = "abcd asfsa sadfsaf safsdaf aaaaaaaaaa aaaaaaaaaa dddddddddddddd"
Run Code Online (Sandbox Code Playgroud)

输出:

string = "abcd asfsa sadfsaf safsdaf aa...ddddd"
Run Code Online (Sandbox Code Playgroud)

ruby truncate ruby-on-rails

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

如何从Rails中的URL获取查询字符串

有没有办法在Rails中传递的URL字符串中获取查询字符串?

我想传递一个URL字符串:

http://www.foo.com?id=4&empid=6
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得idempid

ruby ruby-on-rails ruby-on-rails-3

54
推荐指数
4
解决办法
7万
查看次数

Ruby:如果存在ENV变量,则使用最简洁的方法,否则使用默认值

在Ruby中,我试图编写一个使用变量的行(如果已经设置),否则默认为某个值:

myvar = # assign it to ENV['MY_VAR'], otherwise assign it to 'foobar'
Run Code Online (Sandbox Code Playgroud)

我可以像这样编写这段代码:

if ENV['MY_VAR'].is_set? #whatever the function is to check if has been set
  myvar = ENV['MY_VAR']
else
  myvar = 'foobar'
end
Run Code Online (Sandbox Code Playgroud)

但这是相当冗长的,我试图以最简洁的方式编写它.我怎样才能做到这一点?

ruby hash

54
推荐指数
5
解决办法
3万
查看次数

我如何在Ruby中做标准偏差?

我有几个具有给定属性的记录,我想找到标准偏差.

我怎么做?

ruby standard-deviation

54
推荐指数
4
解决办法
2万
查看次数

如何在bundler上下文中运行ruby脚本?

我有一个名为foo.rb的Ruby脚本,我想在bundler环境的上下文中运行它.怎么样?

bundle exec foo.rb 不起作用,因为exec需要一个shell脚本.

ruby bundle

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

使用 YAML.load_file 时升级到 Ruby 3.1 会导致 Psych::DisallowedClass 异常

升级到 ruby​​ 3.1 时,我在使用时看到以下排序错误消息YAML.load_file some_file_name

 Psych::DisallowedClass:
   Tried to load unspecified class: Matrix
Run Code Online (Sandbox Code Playgroud)

其他加载语句会导致类似的错误,但引用不同的未指定类,例如 OpenStruct。看来最新版本的 YAML 只加载允许的白名单中的类,因此需要使用 allowed_class 关键字来允许其他类。我努力了

hsh = YAML.load_file some_file_name, permitted_classes: [Matrix, OpenStruct]
Run Code Online (Sandbox Code Playgroud)

但这给出了错误

 Psych::DisallowedClass:
   Tried to load unspecified class: Symbol
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

ruby yaml activesupport

54
推荐指数
3
解决办法
2万
查看次数