2009-09-17 18 views
2

我剛剛與一位開發人員就C#中的命名類進行了討論。我的最後一次扔掉的線是「我們不要在我們的名字中加任何表情符號。」您可以將什麼表情符號放入您的語言的類名中?

我想不出一種可以將表情符號放在C#類名稱中的方式,但我沒有想太多。這可能嗎?

是否有任何編程語言允許它?什麼是能夠執行此操作的最好/最差的語言?

更新:該計劃的答案最好的回答我的問題。這是一個快速的討論後快速的想法,所以我會在短時間內接受,然後繼續我的生活。感謝您的迴應。

回答

7

例如,在計劃,你可以靈活地包括像:-/ ......在名稱,

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

(:-D 9) 
output: 10 
+0

+1:最佳答案的問題至今 – 2009-09-17 09:16:00

3

在C++中,如果您命名一個類/結構_(一個貧窮的決定符號,但在這裏我們去),你可以從中得到這樣的:

struct emoticon_to_the_right_of_this :_{ 
}; 

想到這裏,一類o可能是一樣好:

struct another_emoticon_to_the_right_of_this :o{ 
}; 

嗯。我似乎只想出悲傷的人。 弗洛伊德這個人今天在這裏嗎?我有一個問題要問他...

+0

+1:最好的情緒表情至今 – 2009-09-17 09:17:14

10

許多日式表情符號 - O_o,v_v等 - 是大多數語言中標識符名稱的完全合法的子字符串。

+2

+1:最佳國際化至今 – 2009-09-17 09:15:26

6

C#支持標識符的任何Unicode字母,因此如果您發現某些適用於Unicode表格中的圖釋,則可以使用它們。 CLR本身允許在標識符名稱中使用更多的字符,比如在編譯器生成的名字中使用的典型的反引號,所以你可以通過在MSIL中定義真正奇怪的名稱,然後用C#中的反射裝載類,因爲它不支持那些字符...

想到方法名稱oO。它本身就是一個表情符號(小眼睛和大眼睛),但是當被引用時,它會擴展到思想泡泡:.oO(Hello)

+0

+1:最好的C#示例。如果包含表情符號的Unicode值,會被接受 - 自己快速瀏覽但無法找到它們 – 2009-09-17 10:50:09

+0

沒有考慮特定的UniCode值。但我想你會找到一些例如在CJK表中。不幸的是,維基百科上的UniCode表情大多包含圓括號,因此您需要更具創造性才能獲得它們(如具有匹配參數的特定方法(;) – OregonGhost 2009-09-17 11:52:32

+0

我喜歡泡泡思想 – knittl 2009-09-29 09:00:03

4

稍微題外話:我正在處理的文件名有一天,認識到面臨的種種曾經出現在我的代碼:

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

當然,也有從右到左的表情,你幾乎總是會遇到C++代碼行的末尾:

mesh->Delete(); 

爲什麼C++看起來很傷心?

+1

+1爲什麼C++看起來很傷心。 – OregonGhost 2009-09-17 12:57:19

+0

啊,所以不是我,而是C++! (弗洛伊德的傢伙拉扯着我的袖子是什麼?) – sbi 2009-09-17 14:23:38

2

Perl使用::作爲包名分隔符,這意味着當我談論XML::Parser(包含「:P」)或Data::Dumper(包含「:D」)時,IM客戶端可能會決定插入笑臉。在包名中不建議使用除::以外的標點符號,因此大多數「擴展」表情符號不在圖片中,但如果我想變得非常愚蠢,我可以引用一個名爲${ ':-)' }的變量 - 但它始終必須使用引用在${'...'}語法,因爲它不是一個可識別的標識名稱:)

0

我相信我已經看到了使用=>訪問對象的屬性(像person=>father

它實際上不是名稱的一部分的語言,但它可能做一個表情符號。

0

沒有嚴格的類名,但也有少數串聯時不時彈出在PHP中的時候,就像在單引號下劃線:

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

正如別人指出的那樣,你不」噸甚至真的需要它們中的一些特殊符號:

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

東西更令人費解:

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

d('_'); 
2

2014年的這個時候,蘋果剛剛發佈了Swift。我爲此做了一個簡短的例子。它編譯和運行非常好。 :d

Swift

相關問題