PowerShell을 V3 + V2 +, 127 (110) 70 65 바이트
param($a,$d)($d|?{$a-match$_}|select length -U).count-eq$a.length
(지금은 내 접근 방식이 @xnor와 유사하지만 독립적으로 개발했지만)
배열로 예상 되는 입력 단어 $a
및 사전을 가져 옵니다 (아래 예 참조). 전체를 반복 하고 a 를 수행 하여 현재 단어 가 입력 단어에 대한 정규 표현식 인 항목을 가져옵니다 (즉, 현재 단어가 입력 단어의 하위 문자열 임).$d
$d
$d
Where-Object
$_
-match
$a
우리는 모든 하위 문자열 단어를 수집 Select-Object
하여 length
매개 변수와 -U
nique 제약 조건에 적용합니다. 각 하위 문자열의 고유 길이를 가져옵니다. 예를 들어, 입력 단어에 대해 comb
,이 배열 될 것이다 (4,2)
위한('comb','om')
.
.count
결과 배열을 가져 와서 입력 단어와 비교합니다 .length
. 같으면 모든 하위 문자열 길이가 사전에 있음을 의미합니다 $TRUE
. 그렇지 않으면 적어도 하나가 누락되었습니다 $FALSE
. 해당 부울 값은 파이프 라인에 남아 있으며 출력은 암시 적입니다.
NB- v2 +에서 작동 해야 합니다.-in
운영자가 더 이상 존재하지,하지만 난 버전 것을 테스트하지했습니다.
예
PS C:\Tools\Scripts\golfing> .\is-it-a-wordinian.ps1 'stage' (gc .\words.txt)
True
PS C:\Tools\Scripts\golfing> .\is-it-a-wordinian.ps1 'metal' (gc .\words.txt)
True
PS C:\Tools\Scripts\golfing> .\is-it-a-wordinian.ps1 'comb' (gc .\words.txt)
False