implement build-in id() function (example included)

オープン
#723 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
52/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
javascript, python
領域
compilers

調査の方向性

Start in builtin.js and compare the requested implementation with how other Python built-ins are exposed by Transcrypt. Verify the resulting built-in assigns stable identifiers to objects and behaves like Python's id() for supported inputs; the issue does not name a test file, so inspect the existing built-in test coverage before adding or running relevant checks.

索引モデルが issue の本文から書いたものです。

説明

STATE: under consideration

Python function id() is very useful and it is trivial to implement using WeakMap, all you need to is is adding to __builtin__.js this code:

var _id_registry = new WeakMap();
var _id_counter = 0;

export function id(obj) {
    var id = _id_registry.get(obj);
    if (id === undefined) {
        id = ++_id_counter;
        _id_registry.set(obj, id);
    }
    return id;
}
主要言語
Python
スター
2.9k
フォーク
218
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

TranscryptOrg/Transcrypt のほかの issue

TranscryptOrg/Transcrypt の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。