How to compare two methods?
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, python
- Bereich
- compilers
Rechercherichtung
No source file or test is named. Start by reproducing the provided ClassA callback-comparison example and inspect the generated JavaScript shown in the issue. Done means determining whether the differing method identity is expected or a compiler bug, then establishing a concrete workaround or regression coverage.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi.
I want to check whether a given callback is a specific method in a class. I found that comparing two methods failed. Following is the test code:
class ClassA:
def proc(self, callback=None):
if callback==self.method1:
print('callback==self.method1, callback=', callback)
else:
print('callback!=self.method1')
print('callback.name=', callback.name)
print('callback.__name__=', callback.__name__)
print('callback.__qualname__=', callback.__qualname__)
print('callback=', callback)
print('self.method1=', self.method1)
if self.method1==self.method1:
print('self.method1==self.method1')
else: print('self.method1!=self.method1')
def method1(self):
pass
def main():
a1= ClassA()
a1.proc(a1.method1)
if __name__ == '__main__':
main()
output:
callback!=self.method1
callback.name= None
callback.__name__= None
callback.__qualname__= None
callback= function () {
var args = [] .slice.apply (arguments);
return func.apply (null, [self] .concat (args));
}
self.method1= function () {
var args = [] .slice.apply (arguments);
return func.apply (null, [self] .concat (args));
}
self.method1!=self.method1
What I was surprised was the last line in the output, self.method1!=self.method1, which was a self comparison, but failed. (Is it a bug?)
How can I know a given callback is equal to a specific method? I tried to find a workaround. But as the output above, information about the method (name, _ _ name _ _, and _ _ qualname _ _) is not available. Any idea or workaround is welcome if you have any.
Thanks.
- Vorherrschende Sprache
- Python
- Sterne
- 2.9k
- Forks
- 217
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TranscryptOrg/Transcrypt
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
TranscryptOrg/Transcrypt#913 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
TranscryptOrg/Transcrypt#911 · 2 Kommentare ·
-
IS: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
TranscryptOrg/Transcrypt#908 ·
-
Update installation and testing instructionsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenSUB: documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
TranscryptOrg/Transcrypt#656 · 7 Kommentare ·
-
re: character classes are parsed as regular expressionsEvtl. vergeben @CarstenGrohmann hat das vor 41 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
TranscryptOrg/Transcrypt#914 ·
Alle Issues in TranscryptOrg/Transcrypt
Ähnliche Issues
-
[BUG] Container scenario crashes without expected_recovery_time, kube DNS example uses retry_waitOffenneeds-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
krkn-chaos/krkn#1627 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
NousResearch/hermes-agent#136483 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] LazyStackedTensorDictStore zeroes the last byte of a new key set on the last elementEvtl. vergeben @peterdsharpe hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
pytorch/tensordict#2307 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag