Crystal 유형별 정렬 및 다기능 암시 toproc#crystal #ruby

6912 단어 crystal
개요
Crystal 유형별 정렬 및 다기능 암시 to프로 소개할게요.
Playground
환경을 구축하지 않은 상태에서 플레이그라운드를 통해 샘플 코드를 테스트할 수 있다.
이 페이지의 샘플 코드를 실행하려는 사람은 다음 URL 중에서 선택하십시오.
playground- crystal
타입
유형 정렬
a = Array(Int32).new
a << 1
a << 2
print a, "\n"
# a << 'a' # Int32以外を指定するとエラーが発生する
  • 출력
  • [1, 2]
    
    ※ 루비처럼 여러 종류를 처리할 수도 있다
    [1, 'a', 1.1].each{|e|p e.class}
    
  • 출력
  • Int32
    Char
    Float64
    
    기본 toproc 기능 향상
    루비에서 기본 to프로크를 이용하여 다음과 같은 간결한 기록을 할 수 있다.
    기본 toproc에 관해서는 아래 링크를 참조하십시오
    Ruby | 기본 to프로 게임. - 큐타.
    루비의 경우&:method_name에 포함된 toproc를 호출합니다.
    print ('a'..'e').map{|e|e.upcase} #=> ['A', 'B', 'C', 'D', 'E']
    print ('a'..'e').map(&:upcase) #=> ['A', 'B', 'C', 'D', 'E']
    # メソッドチェーンできない
    # print ('a'..'e').map(&:upcase.succ) # => ['B', 'C', 'D', 'E', 'F']
    # 引数付メソッドは利用できない
    # print ('a'..'e').map(&:to_i(16)) # => [10, 11, 12, 13, 14]
    
    크리스탈의 경우
    대체&:method_name&.method_name
    print ('a'..'e').map{|e|e.upcase} #=> ['A', 'B', 'C', 'D', 'E']
    print ('a'..'e').map(&.upcase) # => ['A', 'B', 'C', 'D', 'E']
    # メソッドチェーンできる!
    print ('a'..'e').map(&.upcase.succ) # => ['B', 'C', 'D', 'E', 'F']
    # 引数付メソッドを利用できる!
    print ('a'..'e').map(&.to_i(16)) # => [10, 11, 12, 13, 14]
    
    그나저나 크리스탈은 리듀스 모양이 없어요.프로젝트밖에 없어요.
    메모지Enumerable#map, Enumerable#collect, Enumerable#injectEnumerable#reduce이처럼 별명으로 구성된 문법사탕은 크리스탈에 하나만 남았다.
    Crystal 남김Enumerable#mapEnumerable#inject, 삭제 중Enumerable#collect.
    다음은 Enumerable의 문서를 보면 한 쪽만 존재하는 방법을 알 수 있습니다.
    (실제 실행 시 Enumerable#reduce 등의 오류가 발생)
  • Enumerable - Crystal Docs
  • 좋은 웹페이지 즐겨찾기