代码之家  ›  专栏  ›  技术社区  ›  Mizipzor

是否有一种编程语言使用的字符不是(非扩展)ascii表中的字符?

  •  6
  • Mizipzor  · 技术社区  · 14 年前

    我看不出谁会做出这样的决定,但有这样的语言吗?

    我问这个(或者一些琐事,如果你喜欢的话)的原因是我刚刚完成了我的“开发者”版本的第八次迭代(主要强调特殊字符)。四把钥匙现在还没用!

    因为我不想偶然发现一种新的语言来尝试,结果发现我的布局缺乏一个关键的特殊字符,我决定问社区。


    如果除了基本的字符之外再也不需要其他字符,那么未使用的键的最佳用途(对于程序员来说,当然是这样)是什么?一些来自 extended ascii table ? 或者故意不使用它们,然后用它来做一些酷的事情 AutoHotKey ?

    9 回复  |  直到 14 年前
        1
  •  15
  •   Community Romance    7 年前

    是的,有(至少一个): APL

    以下是康威用APL语言写的人生游戏:

    它使用这个键盘映射:

        2
  •  6
  •   Mechanical snail Rajani Dhawan    12 年前

    事实上的标准Haskell实现,GHC, supports Unicode syntax

    {-# LANGUAGE UnicodeSyntax #-}
    

    在文件顶部指定。这让你可以使用 → 对于函数类型和lambdas, ⇒ ← 列表理解等。。

    更准确地说,支持的语法是:

     ASCII   Unicode alternative
     ::      ∷ U+2237 PROPORTION
     =>      ⇒ U+21D2 RIGHTWARDS DOUBLE ARROW
     forall  ∀ U+2200 FOR ALL
     ->      → U+2192 RIGHTWARDS ARROW
     <-      ← U+2190 LEFTWARDS ARROW
     -<      ↢ U+2919 LEFTWARDS ARROW-TAIL
     >-      ↣ U+291A RIGHTWARDS ARROW-TAIL
     -<<       U+291B LEFTWARDS DOUBLE ARROW-TAIL
     >>-       U+291C RIGHTWARDS DOUBLE ARROW-TAIL
     *       ★ U+2605 BLACK STAR
    

    此外,各种库提供Unicode运算符(使用Haskell对运算符名称中Unicode字符的支持): http://www.haskell.org/haskellwiki/Unicode-symbols

        3
  •  4
  •   Cowan    14 年前

    Fortress

    不仅有一个定义的ASCII语言表示,还有一种使用TeX将ASCII转换为“呈现”版本的定义方法。你也可以(据我所知)直接在源代码中使用Unicode运算符——对于难以键入的内容,只有ASCII“快捷方式”(据我所知——我承认我对这一点不太确定)。

    该网站有 an example of the source and how it's rendered

        4
  •  3
  •   Jim Mischel    14 年前

    C#允许变量包含Unicode字符。例如,字符(拉丁文小写字母G,U+0262)是C#变量中完全有效的字符。

        5
  •  2
  •   ebneter    6 年前

    旧Macintosh程序员工作室(MPW)的脚本语言使用了大量非ASCII字符来实现基本上是UnixShell的一个版本。事实上 documentation 仍然可用。例如,它用于重定向。

        6
  •  1
  •   Charles    14 年前

    Unicode operators ,以及添加用户定义运算符的能力。

    在重新映射密钥之前,您可能不应该等待它。我不知道 Rakudo

        7
  •  1
  •   supercat    14 年前

    PL/I对“not”操作符使用一个倒置的-L字符;VM360 I曾经使用“^”作为ASCII等价物(我认为EBCDIC没有“^”)。

        8
  •  1
  •   cnd    11 年前

    我的叉子: https://github.com/Heather/fsharp

    let ° msg = System.Console.WriteLine( msg.ToString() )
    
    let ◄ = 5
    let ★ x = x + ◄
    let (-★-) x y = x + y
    
    let © = "© 2013"
    
    let ► =
        fun x -> 2 + x
    
    sprintf  "Heather %s" project version © |> °
    ► ◄ |> fun ▼ ->
        ★ <| (▼ -★- ▼) |> °
    
        9
  •  0
  •   ains    12 年前

    这算不算?


    http://www.chinesepython.org/doc/tut/tut/node3.html

    中国人:

    >>> 甲 = 12
    >>> 乙 = 3
    >>> 甲 + 乙
    15
    >>> 甲 + 乙**乙
    39
    >>> 甲 = 0 #(可以重新指定值)
    >>> 乙 = 甲 + 1
    >>> 寫 乙
    1
    

    >>> j = 12
    >>> y = 3
    >>> j + y
    15
    >>> j + y**y
    39
    >>> j = 0
    >>> y = j + 1
    >>> print y
    1