小编ste*_*ang的帖子

正则表达式中`?:`的含义是什么?

我看到了一个匹配URL的正则表达式:/^\/users?(?:\/(\d+)(?:\.\.(\d+))?)?/.我?:对每组比赛开始时的用法感到困惑.

那是什么意思?

regex

7
推荐指数
2
解决办法
4226
查看次数

如何在jQuery中为每个动画设置不同的帧速率

我知道jQuery中的帧速率可以通过设置jQuery.fx.interval.但是,它适用于所有的jQuery的内部动画功能,如slideDown,fadeInanimate等.

我想为每个设置帧速率animate(),我怎么能达到这个目的?

jquery animation frame-rate

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

Ruby中语句和表达的区别是什么?

我知道在Ruby中,几乎所有东西都是表达式.甚至那些使用其他语言的if-else语句,例如语句,case语句,赋值语句,循环语句也是Ruby中的表达式.

所以我想从Ruby的观点来看,语句和表达之间的区别是什么?

ruby expression

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

如何在 Python/C++ 的 gRPC 客户端中设置 TLS/SNI 选项?

如何在 Python/C++ gRPC 客户端 API 中设置 TLS/SNI ( https://en.wikipedia.org/wiki/Server_Name_Indication )?

换句话说,什么等同于设置-servernamein openssl s_client

我已经通过在以下位置使用正确的标志来验证我的 TLS 服务器是否正常工作openssl s_client

 openssl s_client -connect "myserver.tunnel.dev:4443" -servername "myserver.tunnel.dev" 
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用 Python /C++ API 正确设置凭据:

uri = "myserver.tunnel.dev:4443"
hostname = "myserver.tunnel.dev"

creds = grpc.ssl_channel_credentials(
    root_certificates=dev_cert)
    # root_certificates=certificate_chain)
    # certificate_chain=certificate_chain)
channel = grpc.secure_channel(uri, creds,
    options=(('grpc.ssl_target_name_override', hostname),)
)
Run Code Online (Sandbox Code Playgroud)

这抛出:

grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.UNAVAILABLE, Connect Failed)>
Run Code Online (Sandbox Code Playgroud)

ChannelOptions结构中,我能找到的最接近的选项是ssl_target_name_override,它也不起作用。

ssl sni grpc

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

如何确定开始块的值?

根据The Ruby Programming Language p.164.

如果begin语句不传播异常,则该语句的值是最后一个表达式的值的评估begin,rescueelse条款.

但是我发现这个行为与begin块以及else子句ensure子句一致.

这是示例代码:

def fact (n)
  raise "bad argument" if n.to_i < 1
end

value = begin
  fact (1)
rescue RuntimeError => e
  p e.message
else
  p "I am in the else statement"
ensure
  p "I will be always executed"
  p "The END of begin block"
end

p value
Run Code Online (Sandbox Code Playgroud)

输出是:

"I am in the else statement"
"I will …
Run Code Online (Sandbox Code Playgroud)

ruby expression block

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

如何使用不同版本的ruby但具有相同的gemset?

在我的电脑上,我ruby1.9.2-p290使用systemgemset 运行.我想继续在我的开发环境中测试Ruby的边缘版本,但我不想再次安装所有的gem并保持相同的gem文件的相同副本.

我怎么能切换到ruby1.9.3-p325使用systemrvm 相同的gemset?

ruby rvm gemset

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

Ruby无法检测字符串中的换行符

我有以下字符串,我想在那里检测换行符.但Ruby的字符串方法include?无法检测到它.

我运行Ruby 1.9.2p290.那里我哪里错了?

"/'ædres/ \nYour ".include?('\n')
 => false 
Run Code Online (Sandbox Code Playgroud)

ruby string newline

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

红宝石中的TOPLEVEL_BINDING是什么?

它不等于binding主线程,这个顶层范围是什么?这个范围与binding主线程有什么不同?

> ruby -e 'puts TOPLEVEL_BINDING === binding'
false
Run Code Online (Sandbox Code Playgroud)

ruby binding

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

通配符**如何在fnmatch中工作?

我注意到fnmatchRuby功能令人惊讶的行为:

File.fnmatch('**.rb', 'main.rb')                    #=> true
File.fnmatch('**.rb', './main.rb')                  #=> false
Run Code Online (Sandbox Code Playgroud)

至于在Ruby参考中解释,**将:

以递归方式匹配目录或扩展文件.

那么它为什么不扩展和匹配./main.rb呢?

ruby wildcard matching

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

当rspec的语法配置时,如何编写expect {}.raise_error

我在rspec上有这个配置:

config.expect_with :rspec do |c|
  c.syntax = :should
end
Run Code Online (Sandbox Code Playgroud)

它使expect {}.to raise_error无效,我怎么能用should语法编写这个错误提升测试?

ruby testing syntax rspec

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

标签 统计

ruby ×7

expression ×2

animation ×1

binding ×1

block ×1

frame-rate ×1

gemset ×1

grpc ×1

jquery ×1

matching ×1

newline ×1

regex ×1

rspec ×1

rvm ×1

sni ×1

ssl ×1

string ×1

syntax ×1

testing ×1

wildcard ×1