小编mxm*_*mxx的帖子

从Ruby中的主机名获取IP地址

我有一个Ruby数组server_names,用于存储主机名.如果我打印出来,它看起来像这样:

["hostname.abc.com", "hostname2.abc.com", "hostname3.abc.com"]
Run Code Online (Sandbox Code Playgroud)

很标准.我要做的是获取这些服务器的IP(可能将它们存储在另一个变量中).

看起来IPSocket类可能会这样做,但我不确定如何使用IPSocket类迭代它.如果它只是尝试打印出如下的IP:

server_names.each do |name|
            IPSocket::getaddress(name)
            p name
          end
Run Code Online (Sandbox Code Playgroud)

它抱怨我没有提供服务器名称.这是语法问题还是我没有正确使用该类?

输出:

getaddrinfo: nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)

ruby

5
推荐指数
2
解决办法
3967
查看次数

使用 CloudFormation 在安全组中打开多个端口的正确语法是什么

我正在尝试使用 CloudFormation 为安全组内的 EC2 实例打开多个端口。但是,我找不到执行此操作的正确语法(打开多个端口)的文档。会像下面这样工作吗?

"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
  "GroupDescription" : "Web Security Group",
  "SecurityGroupIngress" : [ {
     "IpProtocol" : "tcp",
     "FromPort" : "22",
     "ToPort" : "22",
     "FromPort" : "80",
     "ToPort" : "80",
     "CidrIp" : "0.0.0.0/0"
  } ]
}
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

amazon-ec2 amazon-web-services aws-cloudformation

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

Ruby语法,在符号中使用数字?

我是ruby和Chef的新手,在我的cookbook中定义属性时遇到了语法问题.以下是相关代码:

default[:my_cookbook][:stuff] = {
:foo_bar => {
:grok => ['Hi'],
:2grok => ['Bye'],
...
Run Code Online (Sandbox Code Playgroud)

看来我不能使用数字来开始2grok ..有没有办法逃避这个,或者使用'2grok'的正确语法是什么?

ruby syntax symbols

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

理解Ruby中的地图

我是Ruby的新手,我正在尝试理解我遇到的map方法的一个例子:

{:a => "foo", :b => "bar"}.map{|a, b| "#{a}=#{b}"}.join('&')
Run Code Online (Sandbox Code Playgroud)

返回:

=> "a=foo&b=bar"
Run Code Online (Sandbox Code Playgroud)

我不明白怎么回事

b=bar
Run Code Online (Sandbox Code Playgroud)

退回.字符串插值让我感到困惑,因为它似乎会返回如下内容:

=> "a=foo&bbar"
Run Code Online (Sandbox Code Playgroud)

ruby methods dictionary

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