2012-05-21 3 views
6

두 변수 ab이 있습니다. ab을 모두 값 (예 : 10)으로 비교하고 싶습니다. 하나의 표현식에서 쓸 수있는 방법이 있는지 궁금 해서요,여러 변수를 단일 식의 값으로 비교

10 == a && 10 == b 

을하지만 :

나는 이런 식으로 할 수 있습니까? (예를 들어, 같은 a == b == 10)

답변

9
[a,b,3].all? {|x| x==10} 

하지만이 경우

[].all? {|x| x==10} 

도 돌아갑니다 사실

+0

'list.empty? ? false : list.all? {| x | x == 10}'이 빈 문제를 처리해야합니다. – l0b0

+0

아니면'not (list.empty?) && list.all? {| x | x == 10}' – l0b0

+2

+1 IMO, 이것은 받아 들인 대답보다 낫습니다. 그리고 그 엣지 경우는 그 문제에 대해 정말로 중요하지 않습니다. –

4

업데이트, aztaroth에서 코멘트 후 :

[a,b].uniq == [10] 
+1

11 & 10 == 10 -> 사실입니까? – aztaroth

+0

@aztaroth, 고마워, 나는 그걸 놓쳤다 ... – msorc

+0

하지마. 그것은 테스트의 의도를 상당히 가려냅니다. 간단하고 명확한 박자는 매번 간결하고 애매합니다. Array # all을 사용하는 다른 대답은 무엇입니까? 우수합니다. – dbenhur

관련 문제