我需要一个函数来返回/打印整数上的符号.到目前为止,我想出了这个:
def extract_sign(integer)
integer >= 0 ? '+' : '-'
end
Run Code Online (Sandbox Code Playgroud)
是否有内置的Ruby方法可以做到这一点?
saw*_*awa 42
这是一个简单的方法:
x = -3
"++-"[x <=> 0] # => "-"
x = 0
"++-"[x <=> 0] # => "+"
x = 3
"++-"[x <=> 0] # => "+"
Run Code Online (Sandbox Code Playgroud)
要么
x = -3
"±+-"[x <=> 0] # => "-"
x = 0
"±+-"[x <=> 0] # => "±"
x = 3
"±+-"[x <=> 0] # => "+"
Run Code Online (Sandbox Code Playgroud)
Dou*_*len 12
我认为没有一个只给出-1或+1的方法是无稽之谈.甚至BASIC也具有SGN(n)这样的功能.当我们想要使用的数字时,为什么我们必须处理字符串.但那只是MHO.
def sgn(n)
n <=> 0
end.
Run Code Online (Sandbox Code Playgroud)
您可以Kernel#sprintf
用来格式化数字:
def sign(i)
sprintf("%+d", i)[0]
end
sign(100) #=> "+"
sign(-100) #=> "-"
Run Code Online (Sandbox Code Playgroud)