Domanda

Ho appena avuto una discussione con uno sviluppatore sulle classi di denominazione in C #. La mia linea di lancio finale era, " Non mettiamo emoticon nei nomi delle nostre classi. & Quot;

Non riesco a pensare a un modo in cui potresti mettere le emoticon nei nomi delle classi C #, ma non ci ho pensato troppo. È possibile?

Qualche linguaggio di programmazione lo consente? Quale sarebbe la lingua migliore / peggiore in cui poterlo eseguire?

Aggiorna: la risposta dello schema risponde meglio alla mia domanda. È stata un'idea veloce dopo una breve discussione, quindi accetterò dopo un breve periodo di tempo e poi andrò avanti con la mia vita. Grazie per le risposte.

È stato utile?

Soluzione

Ad esempio in Scheme hai la flessibilità di includere simboli come : , - , / ... nei nomi,

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

(:-D 9)
output: 10

Altri suggerimenti

Molte emoticon in stile giapponese - O_o, v_v e simili - sono sottostringhe perfettamente legali dei nomi degli identificatori nella maggior parte delle lingue.

C # supporta qualsiasi lettera Unicode per identificatori, quindi se trovi delle emoticon adatte nelle tabelle Unicode, puoi usarle. Il CLR stesso consente molti più caratteri nei nomi degli identificatori, come il tipico backtick utilizzato nei nomi generati dal compilatore, quindi potresti diventare davvero pazzo definendo nomi davvero strani in MSIL e quindi caricando le classi con la riflessione in C # perché non supporta quei personaggi ...

Mi viene in mente il nome del metodo oO . È un'emoticon in sé (occhio piccolo e grande), ma quando viene richiamata su un riferimento, si espande in una bolla di pensiero: .oO (Hello) .

Leggermente fuori tema: l'altro giorno stavo elaborando nomi di file e mi sono reso conto che tutti i tipi di volti erano apparsi nel mio codice:

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

E ovviamente ci sono le emoticon da destra a sinistra che quasi sempre ottieni alla fine delle righe del codice C ++:

mesh->Delete();

Perché il C ++ sembra così triste?

In C ++, se chiami una classe / struct _ (una decisione sbagliata, ma eccoci qui), puoi derivarne da essa in questo modo:

struct emoticon_to_the_right_of_this :_{
};

Pensando a questo, una classe o potrebbe essere altrettanto buona:

struct another_emoticon_to_the_right_of_this :o{
};

Hm. Mi sembra di venire solo con quelli tristi. Quel ragazzo di Freud è qui oggi? Ho una domanda da porgli ...

Perl usa :: come separatore del nome del pacchetto, il che significa che un client di messaggistica istantanea potrebbe decidere di inserire uno smiley quando parlo di XML :: Parser (contiene " ;: P ") o Data :: Dumper (contiene ": D "). La punteggiatura diversa da :: non è consigliata nei nomi dei pacchetti, quindi la maggior parte delle "estese" le faccine sono fuori dalla scena, ma se volessi essere molto sciocco potrei fare riferimento a una variabile chiamata $ {':-)'} - ma dovrebbe sempre essere referenziata usando il Sintassi $ {'...'} poiché non è un nome identificativo riconoscibile :)

In questo momento nel 2014, Apple ha appena rilasciato Swift ieri. E ho fatto un breve esempio per questo. Si compila e funziona perfettamente. : D

Swift

Credo di aver visto lingue che usano = > per accedere agli attributi dell'oggetto (qualcosa come person = > father )

In realtà non fa parte del nome, ma potrebbe essere un'emoticon.

Nomi non strettamente di classe, ma di tanto in tanto vengono visualizzati in PHP, come un trattino basso tra virgolette singole quando si concatena:

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

E come ha sottolineato qualcun altro, non hai nemmeno davvero bisogno di simboli speciali per alcuni di essi:

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

Qualcosa di più contorto:

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

d('_');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top