다음 코드에서 "warning :`* '인수로 해석 된 접두사"를 제거 할 수 있습니까? 나는 위의 코드를 실행하면Ruby : "warning :`* '을 인자 접두사로 해석하면 어떻게 죽일 수 있습니까?
hash = {"a" => 1,
"b" => 2,
"s" => 3,}
if "string".start_with? *hash.keys then
puts "ok"
else
puts "ng"
end
, 내가 얻을 :
$ ruby -w /tmp/a.rb
/tmp/a.rb:5: warning: `*' interpreted as argument prefix
ok
이 경고를 해결하는 가장 좋은 방법은 무엇입니까? 다음
hash = {"a" => 1,
"b" => 2,
"s" => 3,}
if "string".start_with? (*hash.keys) then
puts "ok"
else
puts "ng"
end
는 당신이 얻을 :
나는이 같은 hash
주위에 괄호를 넣어 시도했습니다
$ ruby -w /tmp/a.rb
/tmp/a.rb:5: syntax error, unexpected *
if "string".start_with? (*hash.keys) then
^
/tmp/a.rb:5: syntax error, unexpected ')', expecting '='
if "string".start_with? (*hash.keys) then
^
/tmp/a.rb:7: syntax error, unexpected keyword_else, expecting end-of-input
그리고이 명확하게 해결하는 방법이 아니다 Why does white-space affect ruby function calls?에서 설명하는 문제이며, 내가 고치려고하는 경고.
내 루비 버전은 다음과 같습니다
$ ruby --version
ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]
@AlexGolubenko,이 질문은 fr 접미사 이름과 괄호 사이의 공백이 아니라 인수 접두어 경고에 관한 것입니다. –