Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Feature request] Add cast function with sugared syntax

Offen
#1,277 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java
Bereich
compilers

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

feature request

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 a ClassCastException when it can't.
  • Add (type) expression syntax that compiles to cast(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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus EngineHub/CommandHelper

Alle Issues in EngineHub/CommandHelper

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.