Domemo 기반 프로그래밍 언어 비교 2

11451 단어 GoSwiftRubyPython

종지


Domemo 기반 프로그래밍 언어 비교 중 하나 계속.

인도물


원본 코드는 BitBucket에 있습니다. MIT 라이센스를 바탕으로 마음대로 사용하십시오!
※ 공개 정보 라이브러리이긴 하지만 여러분이 함부로 만지실지는 모르겠지만...
git clone https://[email protected]/aoi_erimiya/domemo.git

각 언어의 감상


독특하다


철저히 인코딩되어 힘을 절약한 독자적인 문법.
할 수 있다면 빨리 인코딩할 수 있을 것 같아요.
※ VScode의 보충도 원활합니다!

좋은 곳

  • 변수 성명이 가볍다(var 또는 유형 지정이 필요 없음)
  • domemo.go
    round := 1
    
  • 포인터 사용!
  • 결국

  • 목록 선언의 문법은 매우 특수하다
  • domemo.go
    cards := [5]int{1,2,3,4,5}
    
  • foreach 없음
  • 대상과 배열 모두 값 주기 → 우는 지침 사용하기
  • domemo.go
    // Player型が詰められたリストがあるとして、プロパティを編集したい
    players := []Player{}
    players = append(players, Player{name, playerCards})
    ...
    
    // foreachがないので、まず普通にfor
    for idx := 0; idx < 4; idx++ {
        // わかりやすくするために変数に代入
        player := players[idx]
        // 値渡しされてるので、実体を編集できてない
        player.cards = [0,1,2]
    }
    

    Swift-정제


    python 같지만 이해하기 쉬운 문법을 중시한다.

    좋은 곳

  • 수조의 성명을 이해하기 쉽다
  • domemo.swift
    let cards: [Int] = [1,2,3,4,5]
    
  • 문자열의 변수 삽입을 이해하기 쉽다
  • domemo.swift
    var round = 1
    print("*round\(round)")
    

    결국

  • Random 주위의 함수는 3.0->4.0->4.2 형식으로 규격 격의 격변을 진행합니까, 아니면 Cocoa를 전제로 합니까?
  • Mac이 없기 때문에 Random계는 도저히 통과할 수 없고 동작을 확인할 수 없습니다(아마 움직일 것이다...)
  • domemo.swift
    let cards:[Int] = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7]
    for idx in cards.indices{
        let swp = cards[idx]
        let targetIdx = Int.random(in: 0 ..< 28)
        cards[idx] = cards[targetIdx]
        cards[targetIdx] = swp
    }
    
  • import가 뭔지 몰라
  • 파이썬 - 원점


    유행은 아니지만 쓰기 쉬워요.나는 너를 축제에 참가하게 하고 싶지 않다...
    ※ 저는 개인적으로 트위터의 봇 팀이기 때문에 익숙해졌습니다.

    좋은 곳

  • 들여쓰기 및 보기 쉽게
  • 문자열과 수조에 대해 곱셈 연산을 할 수 있다
  • domemo.py
    def show_mask(self):
        cards = "X" * len(self.cards)
        print(self.name + "->" + cards)
    
    cards = [1] + [2]*2 + [3]*3 + [4]*4 + [5]*5 + [6]*6 + [7]*7
    

    결국

  • 목록의remove에서 이상 발생
  • __init__(self,...)기호 특수
  • domemo.py
    class Player:
        def __init__(self, name, cards):
            self.name = name
            self.cards = cards
    

    루비. - 자유.


    명시된 문법에 따라 이해하기 쉽고 영리한 표준 라이브러리의 함수들.
    문서의 풍부성과 편리함수가 많아서 그런지
    자체 설치 중 게임용 설치가 진행 중

    좋은 곳

  • Python이 할 수 있는 일은 기본적으로 할 수 있다(문자열의 곱셈)
  • 역할 영역 명시(@ 등)
  • getter,setter의 설치도 쉽다
  • domemo.rb
    class Player
        attr_reader :name, :cards
    
        def initialize(name, cards)
            @name = name
            @cards = cards
        end
    

    결국

  • 처음에는 명명약정을 몰랐다(camel?snake?)※ 정답은 모두
    루비 스타일 설명서 읽기: 이름 지정
  • 해보다


    같은 주제로 다양한 언어로 써보면 각자의 장점을 알게 돼 즐겁다
    후반부로 갈수록 이런 설치를 알아차릴 수 있다.
    설치를 간소화한 것도 있고, 예외 처리는 도외시한다
    거기도 재구성하고 싶은데.
    최근의 유행어는 당분간 통제할 계획이지만, 앞으로도 다른 언어로 실시해 보자!
    다음은 아다야, TypeScript야.

    의견 등


    언어 전문가 여러분, 의견이 있으면 더 예쁘게 쓸 수 있어요.
    기술을 연마하고 싶으니까 어쨌든 알려주세요!!

    좋은 웹페이지 즐겨찾기