编程语言除了Tcl,其中一切都是字符串

时间:2015-07-08 03:46:21

标签: tcl language-features

是否有任何编程语言都是字符串。例如,让我们考虑这个Tcl片段(注释显示C / Java中的等效语句),例如。

set x [append ab cd] ;# c = "ab" + "cd"
set m 1 ;# m = 1
set n [expr $m + 1] ;# n = m + 1

实际上,这与C或Java等语言相反;默认情况下,我们输入的是一个文字字符串,除非它是"特殊的"单词或以$符号开头(在这种情况下,$后面的字符串是变量)。

2 个答案:

答案 0 :(得分:0)

我说你的例子根本没有从C或Java中删除。这种轻松的语法在shell脚本语言中并不常见,它只需要一个足够聪明的预处理器来允许它,比方说,C。Lisp宏有"除非我说它应该是一个字面值被评估"反引号表达式中的语义。

Tcl EIAS意味着它允许程序以字符串作为通用货币交替处理不同的数据结构,数据结构和可执行代码。这并不是闻所未闻的:例如: Lisp用列表做到了这一点,但它并不常见。它使Tcl极具动态性,对许多程序员来说也非常怪异。

答案 1 :(得分:0)

Rexx (Restructured Extended Executor)OORexx是具有相同理念的两种语言:

  

在Rexx中 - 有点像在TCL中 - 在很大程度上,一切都是字符串。拥有由行组成的堆栈和流为您提供简单的列表或字符串数​​组。但大多数情况下,字符串只是根据需要像其他数据类型一样。例如,包含合适的数字表示(数字,小数,指数" e"等)的字符串可用于算术运算。对于处理报告,日志文件等,这正是您想要的行为。

* nix有很多这样的迷你语言。例如:

  • SED
  • TR
  • 加入
  • FMT
  • 分割
  • PR
  • 折叠

<强>参考