Frage

Ich hatte gerade eine Diskussion mit einem Entwickler über Klassen in C # zu benennen. Mein letzter Wurf entfernt Linie war, "Lassen Sie sich keine Emoticons in unseren Klassennamen setzen."

Ich kann nicht denken Sie an eine Art und Weise Sie Emoticons in C # Klassennamen setzen konnte, aber ich habe nicht zu hart darüber nachgedacht. Ist das möglich?

Hat jede Programmiersprache es zulassen? Was wäre die beste / schlechteste Sprache der Lage sein, dies durchzuführen in?

Update: Das Scheme Antwort Bestzeiten beantwortet meine Frage. Es war eine schnelle Idee nach einer kurzen Diskussion, damit ich nach einem kurzen Zeit akzeptieren werde und dann mit meinem Leben weitermachen. Vielen Dank für die Antworten.

War es hilfreich?

Lösung

Zum Beispiel in Schema haben Sie die Flexibilität Symbole wie : gehört, -, / ... in den Namen,

(define (:-D x)
  (+ x 1))
...

(:-D 9)
output: 10

Andere Tipps

Viele japanischen Stil Emoticons - O_o, v_v und dergleichen -. Sind vollkommen legal Substrings von Bezeichnernamen in den meisten Sprachen

C # unterstützt alle Unicode-Buchstaben für Bezeichner, wenn Sie also etwas für Emoticons in den Unicode-Tabellen finden, können Sie sie verwenden. Die CLR selbst ermöglicht weit mehr Zeichen in Bezeichnernamen, wie der typische Graviszeichen in Compiler generierten Namen verwendet, so könnte man wirklich verrückt nach wirklich seltsamen Namen in MSIL definieren und laden dann die Klassen mit Reflektion in C #, weil sie nicht unterstützen diese Zeichen ...

Der Name der Methode oO in den Sinn kommt. Es ist ein Emoticon in sich (kleine und große Augen), aber wenn es auf einem Referenz genannt wird, dehnt es sich auf eine Gedankenblase. .oO(Hello)

Ein wenig Off-Topic: Ich war die Verarbeitung von Dateinamen den anderen Tages und erkennen, dass alle Arten von Gesichtern in meinem Code erschienen waren:

string number(fn.begin()+fn.rfind('_')+1,fn.begin()+fn.rfind('.'));    

Und natürlich gibt es die von rechts nach links Emoticons Sie fast immer am Ende der Zeilen C erhalten ++ Code:

mesh->Delete();

Warum C ++ sieht so traurig?

In C ++, wenn Sie eine Klasse / Struktur _ (eine schlechte Entscheidung, aber hier gehen wir) nennen, wodurch du es wie folgt ableiten:

struct emoticon_to_the_right_of_this :_{
};

über das Denken, eine Klasse o könnte genauso gut sein:

struct another_emoticon_to_the_right_of_this :o{
};

Hm. Ich scheine nur mit traurigen zu kommen. Ist der Freud Kerl heute hier? Ich habe eine Frage, ihn zu fragen ...

Perl verwendet :: als Paketnamen Separator, was bedeutet, dass ein IM-Client ein Smiley einfügen könnte sich entscheiden, wenn ich über XML::Parser (enthält „: P“) sprechen oder Data::Dumper (enthält „: D“). Interpunktion andere als :: nicht in Paketnamen empfohlen, so dass die meisten „erweiterte“ Smileys ist aus dem Bild, aber wenn ich sehr dumm sein, wollte ich eine Variable mit dem Namen ${ ':-)' } verweisen könnte - aber es würde immer werden muß referenziert mit die ${'...'} Syntax, da es kein erkennbares Bezeichnernamen:)

In diesem Moment im Jahr 2014, hat Apple-gestern Swift veröffentlicht. Und ich habe ein kleines Beispiel dafür. Es kompiliert und läuft völlig in Ordnung. : D

Swift

Ich glaube, ich habe gesehen, dass Sprachen => verwenden, um Objektattribute (so etwas wie person=>father) zugreifen

Es ist nicht wirklich ein Teil des Namens, aber es könnte ein Emoticon sein.

Nicht streng Klassennamen, aber es gibt ein paar, die in PHP von Zeit zu Zeit auftauchen, wie ein Unterstrich in Apostroph, wenn verketten:

$foo = $bar.'_'.$baz;

Und wie jemand anderes darauf hingewiesen, Sie haben nicht einmal wirklich brauchen spezielle Symbole für einige von ihnen:

class o_0 {}
class v_v {}
class T_T {}

Etwas mehr verworren:

function d() { echo 'Thumbs up!!'; }

d('_');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top