나는 배열에 포함 된 문자가 있는지 여부를 찾으려고합니다. 그래서 그냥 작동하지 않는 포함 함수에 범위를 포함하려고했습니다. 당신에 대한 grep
를 잊어 버린 경우.include에 범위를 포함 할 수 있습니까? ruby
if @array.include?('a'..'z') then
puts "Doesnt have Permutation"
else
puts "Have permutation"
end
나는 배열에 포함 된 문자가 있는지 여부를 찾으려고합니다. 그래서 그냥 작동하지 않는 포함 함수에 범위를 포함하려고했습니다. 당신에 대한 grep
를 잊어 버린 경우.include에 범위를 포함 할 수 있습니까? ruby
if @array.include?('a'..'z') then
puts "Doesnt have Permutation"
else
puts "Have permutation"
end
당신은
@array.any? { |c| ('a'..'z').include?(c) }
를 원하는 것입니다.
N.B. 예상 1.9 + – roippi
의'Range's에 대해'cover? '가'include?'보다 낫습니다. 감사합니다, @roippi. 범위 # 표지에 동의하겠습니까? 후자는 범위 내의 모든 것을 검사하기 때문에 Enumerable # include?보다 낫습니다. 그러나'include?'의 인수가 Fixnum 또는 단일 문자 (여기에서와 같이) 일 때, 끝점을 고려하는 Range # include?가 사용됩니다. 그러므로, 그것은 중요하지 않습니다. 이것에 대한 자세한 내용은 [이 질문] (http://stackoverflow.com/questions/21608935/what-is-the-difference-between-rangeinclude-and-rangecover)과 내가 코멘트에 준 링크를 게시하십시오. 질문에. –
Enumerable#grep
을 사용해야 할 수도 있습니다.
#grep
의 사용에 대한 몇 가지 예입니다. 여기
['w', '-', 12].grep('a'..'z') # => ["w"]
[ 4 , :a, '^'].grep('a'..'z') # => []
['w', '-', 'e'].grep('a'..'z') # => ["w", "e"]
은 수정 된 당신의
#grep
를 사용하는 코드입니다
ary = ['w', '-', 12]
if ary.grep('a'..'z').empty?
puts "Doesnt have Permutation"
else
puts "Have permutation"
end
# >> Have permutation
고마워 임마. .. 완벽하게 작동합니다 :) – user3358898
후 입력 데이터와 결과를 –