> so (Any)
False
그러나배열의 모든 요소가 Perl 6에 정의되어 있는지 확인하는 방법은 무엇입니까?
> so [1, Any]
True
어떻게이 False
을 생산 만드는 방법?
UPD : 이것이 올바르게 작동하는지는 모르지만 작동하는 것으로 보입니다. 모든
> so [1, Any].all
False
> so (Any)
False
그러나배열의 모든 요소가 Perl 6에 정의되어 있는지 확인하는 방법은 무엇입니까?
> so [1, Any]
True
어떻게이 False
을 생산 만드는 방법?
UPD : 이것이 올바르게 작동하는지는 모르지만 작동하는 것으로 보입니다. 모든
> so [1, Any].all
False
trueyness 검사보다는 정의가 필요한 경우 say [1, 2, Any].all.defined
을 사용하여 정의 된 메소드 호출을 교차점에서 자동 읽기 할 수 있습니다.
say [1, 2, True].all.defined # True
say [1, Int, True].all.defined # False
첫째, (Any)
는 하지List
, (Any,)
입니다 (쉼표에 유의)입니다. 첫 번째 경우를 배열로 지정해야합니다 (예 : [Any]
). 당신이 목록을,이 목록에있는 요소의 수를 취할 것 (AN Array
또는 이러한 맥락에서 List
는 의미 소문자 목록) so
을 제공하는 경우 그렇지 않으면
:-) 오렌지와 사과를 비교하고 그래서 모든 목록을 그 적어도 하나의 요소를 가지고, 사실을 줄 것이다.
질문에 답하려면 여러 가지 방법이 있지만 모두 목록의 일부만보아야합니다. [&&]
는 기본적으로 말하는
say so [&&] (1,Any,3); # False
say so [&&] (1,2,3); # True
: 1 && Any && 3
및 1 && 2 && 3
을 당신이 당신의 목록 0
또는 빈 문자열을 포함하지 않는 것이 확실한 경우, 당신은 간단하게 뭔가를 할 수 있습니다. .map
이미 만드는이 경우에 당신의 so
을 할 필요가 없습니다
say [&&] (1,Any,3).map: *.defined; # False
say [&&] (1,0,3).map: *.defined; # True
참고 : 당신이 확신 할 수없는 경우
, 당신은 추가 단계를 수행해야합니다 값은 True
또는 False
입니다. 나는 독자가 더 빨리 뭔가를 할 수있는 연습으로 이것을 떠날 것입니다. .first
.
고마워요! 나는 'so 0 == False'를 잊어 버렸습니다. –
사실, 수정되었습니다. 감사! –