小编And*_*imm的帖子

如何将方法动态定义为私有?

这似乎不起作用:

class Test
  private

  define_method :private_method do 
    "uh!"
  end
end

puts Test.new.private_method
Run Code Online (Sandbox Code Playgroud)

ruby methods metaprogramming access-specifier

12
推荐指数
3
解决办法
7080
查看次数

在ruby中,你可以在irb中执行assert_equal和其他断言吗?

你能从irb中执行assert_equal吗?这不起作用.

require 'test/unit'
assert_equal(5,5)
Run Code Online (Sandbox Code Playgroud)

ruby testunit

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

当前版本的msysgit是否支持进程替换?

在我的msysgit版本下,我无法使用进程替换.

cat <(echo 'foo')
sh.exe": cannot make pipe for process substitution: Function not implemented
Run Code Online (Sandbox Code Playgroud)

如果我升级到最新版本的msysgit,它的msys/mingw版本是否能够处理进程替换?

我当前版本的msysgit是1.7.0.2.msysgit.0,GNU bash是版本3.1.0(3)-release(i686-pc-msys).

ipc mingw msys msysgit

12
推荐指数
2
解决办法
1368
查看次数

Ruby中的简单Currying

我正试图在红宝石中做一些讨论:

def add(a,b)
  return a+b
end

plus = lambda {add}
curry_plus = plus.curry
plus_two = curry_plus[2] #Line 24
puts plus_two[3]
Run Code Online (Sandbox Code Playgroud)

我收到了错误

func_test.rb:24:in `[]': wrong number of arguments (1 for 0) (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

来自func_test.rb:24:in''

但如果我这样做

plus = lambda {|a,b| a+ b}
Run Code Online (Sandbox Code Playgroud)

它似乎工作.但是在使用lambda分配后,通过打印加两种方式都返回相同类型的对象.我误解了什么?

ruby currying

12
推荐指数
2
解决办法
4483
查看次数

&method(:method_name)在Ruby中的性能是否有害?

我最近遇到了&method(:method_name)语法.(这使用Object#method方法 - RDoc链接)例如,

[5, 7, 8, 1].each(&method(:puts))
Run Code Online (Sandbox Code Playgroud)

相当于

[5, 7, 8, 1].each{|number| puts number}
Run Code Online (Sandbox Code Playgroud)

在Ruby的各种实现中,与前者相比,后者是否存在性能损失?如果是这样,实施者是否正致力于改善其绩效?

ruby performance

12
推荐指数
3
解决办法
3377
查看次数

什么是红宝石中的"$:"?

通常可以在.gemspec文件中看到.例如.i18n.gemspec.

$: << File.expand_path('../lib', __FILE__)
Run Code Online (Sandbox Code Playgroud)

ruby rubygems load-path

12
推荐指数
2
解决办法
895
查看次数

用于自动简化正则表达式的工具

我试图在开源项目中压制警告,并且

/[\.\,\;\:\(\)\[\]\{\}\<\>\"\'\`\~\/\|\?\!\&\@\#\s\x00-\x1f\x7f]+/
Run Code Online (Sandbox Code Playgroud)

给了我

(irb):1: warning: character class has duplicated range
Run Code Online (Sandbox Code Playgroud)

是否有任何工具可以自动指出正则表达式的哪些部分导致重叠?

ruby regex code-analysis

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

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

如何让Ruby'puts'将数据写入文件?

我有以下代码,我想用来ping IP地址和写入文件.一切正常,除了我无法写入文件.

server = %w'192.168.150.254
192.168.150.251
192.168.120.1
192.168.120.2'

File.open('/test/test2.out','w') do |s|
  server.each do |p|
    r = `ping -a -n 1 #{p}`
    puts r
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

什么是Ruby的ThreadGroup?

我正在翻阅Pickaxe,寻找文档Thread,然后遇到了ThreadGroup.

文档描述了它的作用,但它没有解释它的用途.

是一个与线程池相关的线程组,我认为Ruby没有

ruby multithreading

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