2015-12-15 36 views
0

當我在Swift(XCode 7.2)中使用emoji作爲變量名測試時,我遇到了一些主要問題,只有一些表情符號工作。我確定這是因爲一些表情符號包含了他們的基本Unicode代碼點,然後是「變體選擇器」。如何使用Unicode字符作爲變量名稱而無需額外的變體選擇器字形?

有沒有一種方法可以將字符插入到我的源代碼中,而不會出現無法打印的變體選擇符與騎乘和毀了我的代碼?

這大部分似乎是蘋果公司實施Unicode的缺陷,其中使用字符選擇窗格插入♣️爲Clubs插入代碼點,之後是變體選擇器「使用emoji版本,而不是純文本樣式」 。插入♣注入俱樂部代碼點和「使用文本樣式」選擇器。

如果沒有,是否有避免在變量名稱中使用的字符列表?到目前爲止,我發現任何涉及卡片套裝的問題都是存在問題的,以及蘋果爲膚色選擇啓用的任何類似人的表情符號。

回答

1

您可以使用Mac OS X附帶的「Unicode十六進制輸入」輸入源輸入單個代碼點。請參閱this guide以啓用和使用它。

一般情況下,您可能想要避免非ASCII標識符,這正是您提到的原因。有很多許多其他例子,其中非ASCII標識符可能導致問題,並且他們提供幾乎沒有實際的好處。

+0

蘋果真的不應該選擇表情符號作爲他們使用幾乎所有的Unicode字符作爲變量名稱的主要例子,如果他們自己的表情符號實現不適合用作標識符。幸運的是,我是英語爲母語的人,所以我不需要非ASCII字符來使用我的母語有意義的變量名稱。 – cjm