몇 가지 언어로 배열된 요소수를 계산하는 방법[Go,JavaScript,PHP,Python,Ruby,Swift]

9776 단어 PythonGoPHPSwiftRuby
최근 업무 관계로 여러 언어를 접하게 되면서 여러 언어를 오가면 간단한 문법이 뒤죽박죽이 된다.
두뇌를 정리하는 동시에 이번에는 몇 가지 언어에서 요소수를 배열하는 계수 방법을 살펴본다.
하나하나가 모두 평이한 내용이니 언어 전문가들이 마음을 가라앉히고 화목하게 봐주시기 바랍니다.

등장 언어

  • Go
  • JavaScript
  • PHP
  • Python
  • Ruby
  • Swift
  • ▶︎ Go


    Go 언어에서는 내장 함수len()로 준비됩니다.
    따라서 len(array)의 형식으로 수조의 원소수를 얻을 수 있다.
    또한 Go에는 Aray형과 슬라이스형이 배열되어 있다
    Go의 Aray형 원소 수는 고정적이며, 다른 언어의 배열 방식에서는 슬라이스형이 더 가깝다.
    따라서 슬라이스는 다음 코드 예에서도 사용됩니다.

    코드 예

    package main
    
    import (
        "fmt"
    )
    
    func main() {
    
        languages := []string{"Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"}
        fmt.Println(len(languages)) // -> 6
    
    }
    
    Go Playground:
    https://play.golang.org/p/r6yPBOU5uC
    (필자 실행 버전: Go Playfrond의 런타임 버전 →https://play.golang.org/p/1VcPUlPk_3

    보태다


    렌의 매개 변수 중 Aray와 슬라이스 이외에 맵, String, 채널 등을 가져와 이 유형과 일치하는length를 되돌려줍니다.
    (Aray와 map은 소수, String은 바이트 등)

    참고 자료


    ▶︎ JavaScript


    JavaScript에서 Aray에는 length 속성이 있습니다.
    따라서 array.length를 통해 원소 수를 얻을 수 있다.

    코드 예

    var languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"];
    console.log(languages.length); // -> 6
    

    보태다


    Aray의 length 속성이지만 쓸 수 있다고 합니다. Length를 줄이면 Aray의 요소도 바뀐다고 합니다.
    처음 알았습니다.
    languages.length = 3;
    console.log(languages); // -> ["Go", "JavaScript", "PHP"]
    

    참고 자료


    ▶︎ PHP


    PHP에는 count()라는 함수가 준비되어 있습니다.
    따라서 count($array)의 형식으로 수조의 원소수를 얻을 수 있다.

    코드 예

    $languages = array("Go", "JavaScript", "PHP", "Python", "Ruby", "Swift");
    // PHP 5.4以降は下のような書き方でOK
    // $languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"];
    echo(count($languages)); // -> 6
    
    (필자 실행 버전: PHP 5.3.27) 이전 버전.웃다 웃다

    보태다

    count()라는 별명sizeof()으로도 준비돼 있고 그쪽도 똑같기 때문이다.
    내부 함수의 매개 변수로 전달되는 배열의 형식은 Go와 비슷하지만 Go와 달리 String을 지나면 바이트 수가 되돌아오지 않는다.

    참고 자료


    ▶︎ Python


    파이톤은 원래 배열이라는 단어를 사용하지 않고 배열에 해당하는 것을 목록이라고 부른다.
    삽입식 함수len()를 사용하여 목록의 원소 수를 얻습니다.

    코드 예

    languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
    print len(languages) # -> 6
    
    (필자 실행 버전: Python 2.7.12)

    보태다


    참조 중
    매개 변수는 시퀀스 (문자열, 바이트 열, 모듈, 목록,range 등) 또는 모음 (사전, 집합, 동결 집합 등) 이다.
    따라서 Go와 비슷한 느낌으로 리스트 밖에서도 각자의 길이를 되돌릴 수 있다.

    참고 자료


    두 시스템
    http://docs.python.jp/2/library/functions.html#len
    삼계
    http://docs.python.jp/3/library/functions.html#len

    ▶︎ Ruby


    루비에서 Arrray 클래스에는 length 방법, size 방법이 있는데 어느 것이든 기본 소수를 얻을 수 있다.
    (size 방법은length 방법의 별명과 유사)
    또한 Arrray 클래스include의 Enumerable 모듈에count 방법이 있기 때문에 Arrray 클래스에서count 방법을 사용하지 않으면 그룹의 원소 수를 얻을 수 있습니다.

    코드 예

    languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
    p languages.length # -> 6
    p languages.size # -> 6
    p languages.count # -> 6
    
    (필자 실행 버전: ruby2.30)

    보태다


    length 방법과count 방법의 차이 등은 아래의 보도를 참고할 수 있다.
    http://qiita.com/saino-katsutoshi/items/7d761c026563a649d046

    참고 자료


    ▶︎ Swift


    Swift에서 Arrray 구조체는 count 속성을 가지고 있기 때문에 이count 속성에서 요소 수를 얻을 수 있다.

    코드 예

    let languages = ["Go", "JavaScript", "PHP", "Python", "Ruby", "Swift"]
    print(languages.count) // -> 6
    
    (필자 실행 버전: Swift3.0)

    보태다


    Arrray 구조체Collection는 프로토콜에 부합되기 때문에count 속성을 정의해야 합니다.
    또 속성 면에서는 자바스크립트length 속성과 비슷하지만, 스위프트count 속성은 읽기만 하고 값을 다시 쓸 수 없다.

    참고 자료


    총결산


    우선 대체로
  • array_object.count_method_or_property에서 보듯이 배열된 클래스(등)에 원소수를 되돌려주는 함수 속성을 정의한 언어와
  • count_function(array_object)에서 보듯이 언어는 함수를 가지고 있으며 이 함수는 파라미터를 통해 전달된 대상의 길이를 되돌려준다
  • 있는 것 같아요.
    그리고 분리돼도'속성이나 방법'은 다르고,'매개 변수에 교부하는 유형에 따라 되돌아오는 값의 내용이 달라질지'등은 언어에 따라 다르다.
    언어에 따라 배열 대상이 자신의 요소수를 파악할 수 있는지도 달라 흥미롭다.
    그리고 아직 여러 가지 언어를 깊이 이해하지 못한 곳이 많아서 조금씩 배우고 싶습니다.

    좋은 웹페이지 즐겨찾기