[Feature request] Add cast function with sugared syntax
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Der Issue beschreibt eine neue Funktion cast(mixed, classtype) und die Syntax für den syntaktischen Zucker (type), einschließlich des Verhaltens von ClassCastException und eines Beispiels für die Typprüfung. Da keine Quelldateien, Tests oder Einstiegspunkte genannt werden, lokalisiere zuerst die vorhandenen Konvertierungen für integer, string, boolean und double sowie die Parser- und Typprüfungspfade für Ausdrücke. Erledigt ist die Aufgabe, wenn beide Formen in den angeforderten Typ umwandeln und inkompatible Werte wie angegeben ablehnen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
MethodScript currently does not have a method to cast to any desired type. This makes it impossible to fully statically type programs such as:
mixed @a = ...;
if(@a instanceof array) {
array @arr = @a; // Typecheck error, need to insert a cast.
}
Proposed solution
- Add a
cast(mixed, classtype)function that casts the given mixed to the given classtype, or throws aClassCastExceptionwhen it can't. - Add
(type) expressionsyntax that compiles tocast(expression, type).
Note that MethodScript currently does have integer(mixed), string(mixed), boolean(mixed) and double(mixed) that all cast to one specific type.
- Vorherrschende Sprache
- Java
- Sterne
- 128
- Forks
- 70
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
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 EngineHub/CommandHelper
-
discussion wanted documentation
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
EngineHub/CommandHelper#1403 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
EngineHub/CommandHelper#1370 · 1 Kommentar ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
EngineHub/CommandHelper#1354 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
EngineHub/CommandHelper#1349 · 3 Kommentare ·
-
bug
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
EngineHub/CommandHelper#1341 · 2 Kommentare ·
Alle Issues in EngineHub/CommandHelper
Ähnliche Issues
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Evtl. vergeben @dadiyang hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
macrozheng/mall#1016 ·
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
apache/rocketmq-dashboard#6110 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Feature:Resolution
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
intellij-elixir/intellij-elixir#4396 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Python 3.15 supportEvtl. vergeben @amnesiaof hat das heute übernommen. OffenL: python L: python:uv
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
dependabot/dependabot-core#16524 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
`Processing lsp` never exits and leaves orphaned processesEvtl. vergeben @overcast302 hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
processing/processing4#1578 · 1 Kommentar ·