sigs가있는 gem의 유형을 어떻게 포함합니까?

커비 쿨

thing같은 다른 여러 프로젝트에서 사용되는 공유 gem이 있다고 가정 해 봅시다 example-project. thing유형 검사를 활용하기 위해 보석에 셔벗을 사용하고 싶습니다 . 내 소비 프로젝트를 내 gem의 유형과 비교하여 확인하려면 어떻게해야합니까?

예를 들어 코드는 다음과 같습니다.

물건 보석

# typed: strict

require 'sorbet-runtime'

class Thing
  extend T::Sig

  sig { params(phrase: String).returns(String) }
  def say(phrase)
    "Thing said: '#{phrase}'"
  end
end

예제 프로젝트

# typed: strict

require 'thing'

Thing.new.say(1) # Should cause a type error

무슨 일이야

실행 후 srb rbi update, 나는sorbet/rbi/gems/thing.rbi

class Thing
  def say(*args, &blk); end
  extend T::Private::Methods::MethodHooks
  extend T::Private::Methods::SingletonMethodHooks
  extend T::Sig
end

이것은 내가 기대하는 보석의 시그를 가지고 있지 않으며 내가 기대 srb tc하는 오류를 일으키지 않습니다.

내가 시도한 다른 것들

rbi/thing.rbi보석에 포함

이것은 작동하지만 별도의 rbi 파일을 유지하는 것보다 gem 코드에 sigs를 인라인으로 작성하는 것이 좋습니다. .rbsigs로 파일을 가져 와서 파일을 출력 할 수있는 도구가 있습니까? .rbi(그리고 파일에서 sigs를 제거하여 .rbsorbet없이 gem을 배포 할 수 있습니다). tsc --declaration에서 오는 typescript와 유사한 워크 플로를 생각하고 있습니다 .ts => .d.ts + .js.

사용자 537862

https://github.com/AaronC81/brain_freeze 는 인라인 선언이있는 RB 파일에서 RBI 파일을 생성하는 것을 목표로하는 새로운 프로젝트입니다. 아직 이르지만 시도해 볼 가치가있을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

유형의 유형을 어떻게 얻을 수 있습니까?

분류에서Dev

특정 유형의 열을 포함하는 행에 대해 Mongo db를 어떻게 쿼리합니까?

분류에서Dev

Scala는 반환 값 유형을 어떻게 정의합니까?

분류에서Dev

세 가지 유형의 값 (열 머리글 포함)을 어떻게 해제 할 수 있습니까?

분류에서Dev

이동 할당 연산자가 정의 된 경우 해당 유형의 벡터에 unique_ptr을 포함하는 객체를 어떻게 할당합니까?

분류에서Dev

MIXED 유형의 객체를 포함하는 json 스키마 배열의 유효성을 검사하려면 어떻게해야합니까?

분류에서Dev

주어진 입력이나 입력에 포함 된 멤버를 반환하는 TypeScript 메서드의 반환 유형을 어떻게 작성합니까?

분류에서Dev

주어진 입력이나 입력에 포함 된 멤버를 반환하는 TypeScript 메서드의 반환 유형을 어떻게 작성합니까?

분류에서Dev

Typescript : 인수 유형을 기반으로 함수의 반환 유형을 어떻게 얻을 수 있습니까?

분류에서Dev

정수를 값으로 포함하는 C # 열거 형을 어떻게 정의합니까?

분류에서Dev

Typescript의 함수에 유형을 어떻게 삽입 할 수 있습니까?

분류에서Dev

다른 유형의 값을 추가 할 수 있도록 함수의 유형 제약 조건을 어떻게 표현합니까?

분류에서Dev

반환 값이 관련된 함수의 반환에 조건부 유형을 어떻게 추가합니까?

분류에서Dev

확장자가없는 이미지의 파일 유형을 어떻게 알 수 있습니까? 어떻게 작동합니까?

분류에서Dev

TypeScript의 함수 유형에 키를 어떻게 추가합니까?

분류에서Dev

int 및 struct 유형의 포인터를 사용하는 함수에서 포인터가 반환 한 주소를 어떻게 역 참조합니까?

분류에서Dev

관찰 가능한 함수가 반환하는 유형이되도록 변수의 유형을 어떻게 선언합니까?

분류에서Dev

포인터가있는 배열을 함수에 어떻게 전달합니까?

분류에서Dev

TypeScript에서 다른 유형의 조합 인 제네릭 유형을 어떻게 만들 수 있습니까?

분류에서Dev

객체에 배열이 포함되어있을 때 toString 메서드를 어떻게 재정의합니까?

분류에서Dev

TypeScript에서 여러 유형을 포함하는 2 차원 배열을 어떻게 표현합니까?

분류에서Dev

Java에서 이진 숫자를 포함하는 두 개의 긴 문자열을 어떻게 추가합니까?

분류에서Dev

두 개 이상의 구 / 단어가 포함 된 파일을 어떻게 확인합니까?

분류에서Dev

pyspark의 피벗 테이블에서 헤더 행과 합계 행을 어떻게 추가 / 포함합니까?

분류에서Dev

각각 숫자가 포함 된 두 개의 열을 날짜 열로 결합하려면 어떻게합니까?

분류에서Dev

정의가 없으면 어떻게 포함합니까?

분류에서Dev

Typescript-switch 문에서 일반 유형의 유형 가능성을 어떻게 좁힐 수 있습니까?

분류에서Dev

여러 유형의 정수가있는 boost :: variant 유형으로의 암시 적 변환을 방지하려면 어떻게해야합니까?

분류에서Dev

고유 한 버튼 유형을 어떻게 정의합니까?

Related 관련 기사

  1. 1

    유형의 유형을 어떻게 얻을 수 있습니까?

  2. 2

    특정 유형의 열을 포함하는 행에 대해 Mongo db를 어떻게 쿼리합니까?

  3. 3

    Scala는 반환 값 유형을 어떻게 정의합니까?

  4. 4

    세 가지 유형의 값 (열 머리글 포함)을 어떻게 해제 할 수 있습니까?

  5. 5

    이동 할당 연산자가 정의 된 경우 해당 유형의 벡터에 unique_ptr을 포함하는 객체를 어떻게 할당합니까?

  6. 6

    MIXED 유형의 객체를 포함하는 json 스키마 배열의 유효성을 검사하려면 어떻게해야합니까?

  7. 7

    주어진 입력이나 입력에 포함 된 멤버를 반환하는 TypeScript 메서드의 반환 유형을 어떻게 작성합니까?

  8. 8

    주어진 입력이나 입력에 포함 된 멤버를 반환하는 TypeScript 메서드의 반환 유형을 어떻게 작성합니까?

  9. 9

    Typescript : 인수 유형을 기반으로 함수의 반환 유형을 어떻게 얻을 수 있습니까?

  10. 10

    정수를 값으로 포함하는 C # 열거 형을 어떻게 정의합니까?

  11. 11

    Typescript의 함수에 유형을 어떻게 삽입 할 수 있습니까?

  12. 12

    다른 유형의 값을 추가 할 수 있도록 함수의 유형 제약 조건을 어떻게 표현합니까?

  13. 13

    반환 값이 관련된 함수의 반환에 조건부 유형을 어떻게 추가합니까?

  14. 14

    확장자가없는 이미지의 파일 유형을 어떻게 알 수 있습니까? 어떻게 작동합니까?

  15. 15

    TypeScript의 함수 유형에 키를 어떻게 추가합니까?

  16. 16

    int 및 struct 유형의 포인터를 사용하는 함수에서 포인터가 반환 한 주소를 어떻게 역 참조합니까?

  17. 17

    관찰 가능한 함수가 반환하는 유형이되도록 변수의 유형을 어떻게 선언합니까?

  18. 18

    포인터가있는 배열을 함수에 어떻게 전달합니까?

  19. 19

    TypeScript에서 다른 유형의 조합 인 제네릭 유형을 어떻게 만들 수 있습니까?

  20. 20

    객체에 배열이 포함되어있을 때 toString 메서드를 어떻게 재정의합니까?

  21. 21

    TypeScript에서 여러 유형을 포함하는 2 차원 배열을 어떻게 표현합니까?

  22. 22

    Java에서 이진 숫자를 포함하는 두 개의 긴 문자열을 어떻게 추가합니까?

  23. 23

    두 개 이상의 구 / 단어가 포함 된 파일을 어떻게 확인합니까?

  24. 24

    pyspark의 피벗 테이블에서 헤더 행과 합계 행을 어떻게 추가 / 포함합니까?

  25. 25

    각각 숫자가 포함 된 두 개의 열을 날짜 열로 결합하려면 어떻게합니까?

  26. 26

    정의가 없으면 어떻게 포함합니까?

  27. 27

    Typescript-switch 문에서 일반 유형의 유형 가능성을 어떻게 좁힐 수 있습니까?

  28. 28

    여러 유형의 정수가있는 boost :: variant 유형으로의 암시 적 변환을 방지하려면 어떻게해야합니까?

  29. 29

    고유 한 버튼 유형을 어떻게 정의합니까?

뜨겁다태그

보관