我正在尝试使用库HTTParty,但是每当我运行下面的代码时,都会收到错误消息。
代码:
require 'httparty'
response = HTTParty.get('http://example.com')
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到错误:Errno::ECONNREFUSED (Failed to open TCP connection to :80 (Connection refused - connect(2) for nil port 80)). 在net/http. 我不知道这是否有帮助,但我运行的系统是 Linux Mint 18.3 Cinnamon 64-bit 。
我正在尝试编写一个需要 root 权限的程序,但是无论何时运行它都会引发权限错误。是否有更好的方法以 root 身份运行程序而无需输入sudo 'example_script.rb'另外,是否有可能从 ruby 脚本内部请求“sudo”或检查用户在使用程序时是否以 sudo 身份运行?谢谢!
我试图GetAsyncKeyState在我正在从事的项目中使用。唯一的问题是我不知道它返回什么值,以及如何检查它。根据 MSN文档:
类型:短
如果该函数成功,则返回值指定自上次调用GetAsyncKeyState以来是否按下了该键,以及该键当前是向上还是向下。如果设置了最高有效位,则键处于关闭状态,如果设置了最低有效位,则在上一次调用GetAsyncKeyState后按下了键。但是,您不应该依赖最后一个行为;有关更多信息,请参阅备注。
我知道类型SHORT是一个数字,但是我在 StackOverflow 和互联网上看到了很多不同的答案,但是当 GetAsyncKeyState 评估为 true 时,它的返回值是什么,它返回 0 还是 0x8001?
我运行了这个代码:
begin
print 'Enter something:'
x = gets.to_i # Enter a string
rescue => err
print(err.to_s)
end
Run Code Online (Sandbox Code Playgroud)
我不明白为什么救援块没有捕获异常。当输入字符串时它总是返回零,并且不会触发救援块。我不知道为什么它不起作用。有人可以帮忙吗?
我试图从数组中删除奇数.
arr = [1, 2, 3, 4, 5, 6, 7, 8, 10]
def remove_odd_nums(arr)
for x in arr
if x % 2 == 0
arr.delete(x)
end
end
end
print remove_odd_nums(arr)
# [1, 3, 5, 7, 10]
Run Code Online (Sandbox Code Playgroud)
我似乎无法使这个程序工作.该方法适用于除最后一个之外的数字.我究竟做错了什么?
我注意到这个奇怪的行为与begin/rescueRuby中的块,当我定义一个变量,并发生异常,我试图调用该变量,它发生异常返回nil.
例如:
begin
print "Enter a number: "
input = Integer(gets.chomp)
sum = input + 5
puts "This is your number plus five: #{sum}"
rescue ArgumentError
puts "#{input}" #This outputs nil
end
Run Code Online (Sandbox Code Playgroud)
为什么begin/rescue块像这样工作,有没有办法打印变量而不返回nil?
我试图看看是否可以使用简单的do语句传输实例变量的属性.
class Dog
def initialize(name, age)
@name = name
@age = age
end
def bark
puts 'Woof'
puts 'Woof'
puts 'Woof'
end
end
bo = Dog.new do |word|
word.bark
end
Run Code Online (Sandbox Code Playgroud)
为什么它返回类id而不是函数的输出?