MFR: 목록/연관 배열 조작을 위한 JSL 함수형 프로그래밍 라이브러리대형 JSL 프레임워크에서 작업하는 동안 이 도우미 라이브러리를 개발했습니다. 목록을 순회하기 위해 n번째 For() 루프를 코딩한 후(그리고 인덱스 변수의 의도하지 않은 클로버링과 관련된 많은 버그를 수정한 후) 더 높은 값을 사용하면 코드가 훨씬 더 깔끔해 보이고 유지 관리가 더 쉬울 것이라는 것을 깨달았습니다. - 함수형 프로그래밍에서 일반적으로 사용되는 것과 같은 수준 추상화.
라이브러리는 Python 및 JavaScript와 같은 언어에서 사용 가능한 맵/필터/리듀스 트리오와 적용, 감소 및 비교와 같은 몇 가지 추가 기능을 구현합니다. 에서 영감을 받았습니다. http://book.pythontips.com/en/latest/map_filter.html .
테스트에서 사용 예를 확인하고 버그나 개선 방법을 찾으면 알려주세요!
MFR(Map-Filter-Reduce에서)은 JSL용 함수형 프로그래밍 기본 라이브러리입니다.
기본 테스트를 포함합니다.
에서 영감을 받다 http://book.pythontips.com/en/latest/map_filter.html
분석 애플리케이션 개발유용Re: MFR: 목록/연관 배열 조작을 위한 JSL 함수형 프로그래밍 라이브러리감사, @jcperkins12 . 유용하셨다니 다행입니다.
Re: MFR: 목록/연관 배열 조작을 위한 JSL 함수형 프로그래밍 라이브러리이것은 본질적으로 제공하는 것과 JSL의 추상화를 위한 템플릿 모두에 좋습니다. 게시해 주셔서 감사합니다.
Re: MFR: JSL용 함수형 프로그래밍 라이브러리업데이트(2019년 8월): 새 버전(MFR2.zip)은 새 명령으로 원래 기능을 확장합니다. 이 재작성은 더 깔끔한 코드를 위해(그리고 믹스인을 지원하기 위해) 네임스페이스 대신 클래스를 사용합니다. 동작 사용자 정의(각 컨테이너 요소에 대해 수행할 작업)를 위해 익명 함수를 전달하는 대신 표현식 조작이 사용됩니다. .zip 파일에는 캐시를 구현하는 데 유용한 복합(다중 키) 사전을 구현하는 테스트 및 실제 응용 프로그램이 포함되어 있습니다.
사용 가능한 방법 목록은 다음과 같습니다.
Map: 입력 값을 대체한 후 표현식 평가 결과 목록을 반환합니다.
Map2dict: 입력 값을 대체한 후 두 표현식의 평가 결과 사전(연관 배열)을 반환합니다.
감소: 입력 값을 대체한 후 표현식 평가 결과의 누적을 반환합니다.
필터: 입력 값의 대체 후 표현식 평가가 참인 주어진 목록의 요소를 반환합니다.
Any: 표현식 평가에 사용될 때 주어진 목록의 요소 중 하나라도 true 값을 반환하는 경우 1을 반환합니다.
All: 표현식 평가에 사용될 때 주어진 목록의 요소 중 하나라도 true 값을 반환하는 경우 1을 반환합니다.
Zip: 길이가 같은 두 목록을 해당 요소 쌍의 단일 목록으로 결합합니다. 연관 배열에 대해 지원/정의되지 않음
적용: 부작용에 대한 입력 위에 표현식을 적용합니다.
Flat: 중첩된 목록을 가져와서 원래 순서를 유지하면서 모든 요소가 같은 수준에 있는 목록을 반환합니다.
답변: MFR: 목록/연관 배열 조작을 위한 JSL 함수형 프로그래밍 라이브러리Jmp 16 이후로 대부분의 기능은 이제 공식적으로 Filter Each, Transfrom Each ...로 제공됩니다.
매우 좋은.
Flatten 함수도 있나요?