Kinx v0.22.0 미리보기 출시
12445 단어 rubyjavascriptkinx
Kinx v0.22.0 프리뷰 릴리즈를 공개했습니다! Release Page의 Kinx를 봐 주세요
소개
버전 0.22.0에서는 파이프라인/구성 연산자와 일부 기능 메서드를 새로 지원했습니다.
v0.21.0에서 주로 4가지 업데이트가 있습니다.
파이프라인 운영자
이것은 JavaScript의 제안을 기반으로 합니다.
a |> b
는 b(a)
와 정확히 동일함을 의미합니다. 마찬가지로 a <| b
를 의미하는 a(b)
도 사용 가능합니다.다음은 파이프라인의 간단한 예입니다.
function doubleSay(str) {
return "%{str}, %{str}";
}
function capitalize(str) {
return str.toUpper(0, 1);
}
function exclaim(str) {
return str + '!';
}
var result = exclaim(capitalize(doubleSay("hello")));
System.println(result); // => "Hello, hello!"
var result = "hello"
|> doubleSay
|> capitalize
|> exclaim;
System.println(result); // => "Hello, hello!"
자세한 내용은 Pipeline Operator을 참조하십시오.
함수 합성 연산자
기능은 새로운 기능으로 합성될 수 있습니다.
a +> b
는 { => b(a(_1)) }
를 의미합니다. 그리고 a <+ b
는 { => a(b(_1)) }
를 의미합니다.Kinx 함수 구문에 익숙하지 않은 사람들을 위해 구문에 대해 조금 알려 드리겠습니다.
{ => b(a(_1)) }
는 JavaScript와 같은 구문에서 function(arg) { return b(a(arg)); }
를 의미합니다. 예, _1
는 첫 번째 인수입니다.다음은 함수 합성 연산자의 간단한 예입니다.
function doubleSay(str) {
return "%{str}, %{str}";
}
function capitalize(str) {
return str.toUpper(0, 1);
}
function exclaim(str) {
return str + '!';
}
var result = exclaim(capitalize(doubleSay("hello")));
System.println(result); // => "Hello, hello!"
// Generates a new composed function.
var doubleSayThenCapitalizeThenExclaim
= doubleSay +> capitalize +> exclaim;
var result = "hello" |> doubleSayThenCapitalizeThenExclaim;
System.println(result); // => "Hello, hello!"
자세한 내용은 Function Composition Operator을 참조하십시오.
기능 라이브러리
Functional
는 함수형 메서드를 다루는 전역 인스턴스입니다. 일반적으로 파이프라인에서 어떤 객체의 메소드를 사용할 때는 다음과 같은 예와 같이 해야 합니다.obj |> { &(obj) => obj.map({ => _1 * 2 }) }
|> { &(obj) => obj.method() }
|> // ... and so on.
Functional
인스턴스는 실제 함수 개체를 래핑하고 파이프라인으로 전달합니다.예를 들어 위의 예에 대해 다음과 같이 작성할 수 있습니다.
obj |> Functional.map { => _1 * 2 }
|> Functional.method()
// Note that it needs a `()` to use an actual function object
// which receives an object at a first argument.
|> // ... and so on.
Enumerable
는 파이프라인에서도 유용합니다. Enumerable
는 module
뿐만 아니라 a pipeline 에서 유용한 기능적 열거 가능한 메서드를 가진 전역 인스턴스입니다.예를 들어 파이프라인을 통해 다음 함수에 여러 값을 전달할 때
Enumerable
의 메서드는 값을 하나씩 가져와 다음 함수에 순서대로 전달할 수 있습니다.따라서
Enumerable
는 무한 시퀀스를 처리할 수 있습니다. 이것은 아래의 예입니다.1..
|> Functional.enumerable
|> Enumerable.drop(10)
|> Enumerable.filter { => _1 % 3 == 0 }
|> Enumerable.take(10)
|> Enumerable.toArray
|> System.println;
Functional.enumerable
는 Enumerable
메서드에서 사용할 수 있는 항목을 순서대로 변경하는 매직 함수입니다.자세한 내용은 Functional을 참조하십시오.
클립보드
클립보드 읽기/쓰기가 지원됩니다. 다음은 클립보드 읽기/쓰기의 간단한 사용법입니다.
var cb = new Clipboard();
cb.write(str);
var r = cb.read();
자세한 내용은 Clipboard을 참조하십시오.
결론
새로운 기능 구현을 중단하고 Kinx를 곧 v1.0.0으로 만들 예정입니다. 지금 열심히 발매중입니다!
Kinx 의 사용자가 되기를 바랍니다.
감사합니다.
Reference
이 문제에 관하여(Kinx v0.22.0 미리보기 출시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/krayg/kinx-v0-22-0-preview-released-33mn
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kinx v0.22.0 미리보기 출시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/krayg/kinx-v0-22-0-preview-released-33mn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)