`
lichray
  • 浏览: 4646 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

为括号正名!

阅读更多
(教育用,大腕版,纯搞笑)

一定要爱上括号
Scheme 一个都不能省的那种
Vim、Emacs 都能自动高亮括号对
看一眼就知道表达式是在哪个参数位置上返回的
心里别提多舒坦
没那个我现在都不知道怎么写程序!
用 Python 的时候
括号逗号元组连一块儿
三四层的函数调用就看不出来哪儿对哪儿了
Perl 光括号就七八种,还能自定义
鬼能背得得那匹配规则
Ruby 倒好
只省括号,但要被算符优先级
不是没事儿找事儿嘛
你看人家 Haskell 都学 Scheme 的括号规则
想用 $ 省几个?
你不先把括号打全了怎么省?
于是你用 Lisp,想省俩开始、结尾那括号
你都不好意思跟人打招呼
括号这种东西
就要一个字:多!
你也不想想人家为什么都用 letrec 不用 define
就是为了多打三层括号呗!
表达式套个七八层
if、cond 加个三四层
let、lambda 再加两层
你说这么着写程序
一千行 Scheme,我看怎么着也得四五千括号吧?
四五千,还得成对!
你还别不乐意
你看看那些个用命令式语言编程的
写个相同功能的程序
光等号就得打这么多!
然后他们还管那叫 IT(Irritating Testing)!
怎么,你想去试试?
想想看他们用的那 IDE
宏变换就不提了
连函数式语言的词法作用域都测不出来
Continuation?还是省了这条心吧
你得研究 Schemer 的心理
只要最清晰的,怕括号的都不是 Schemer
所以说
咱们用 Scheme 的口号就是
括号最多,一个不省
分享到:
评论
3 楼 ajoo 2008-04-19  
不好玩,一点也没有大腕台词那个爽劲儿。牵强。
2 楼 freeatom 2008-04-17  
我眼镜早就散光了……
1 楼 庄表伟 2008-04-07  
armorking 写道
括号最多,一个不省
严重同意

我经常这样写:
    if (
        ( a == b &&
            a == c
        ) ||
        ( a == d &&
            a == d
        )
    ){
        //...
    }


眼睛会散光的。。。

相关推荐

    c语言实现的括号匹配算法 无括号算术表达式处理算法

    c语言实现的括号匹配算法 无括号算术表达式处理算法 #include "seqstack.h" #include "stdio.h" void BracketMatch(char *str); void BracketMatch(char *str) /* str[]中为输入的字符串,利用堆栈技术来检查该...

    ACM 括号配对问题

    ACM 在线测评第二题,括号配对!表示完全是自己写的,没有参考他人思想!有不足之处请指正!

    数据结构实验二(括号的匹配)程序

    数据结构实验二(括号的匹配)程序 status pipei(sqstack *s,char *str) //判断括号匹配 {int i=0,flag=0; SElemtype e; while(str[i]!='\0') { switch(str[i]) { case '(':push(s,str[i]);break; //左括号进栈 case...

    parenteses:注意,并非所有内容都在括号中!

    并非所有内容都是括号! ()[] {} :face_screaming_in_fear: 注意,并非所有内容都在括号中! 用HTML,CSS和JavaScript制作的简单游戏。 在该项目中,应用了迄今为止在获得的知识。 由于许多人在括号,方括号和键...

    用c语言实现的括号匹配的源代码

    { printf("\n右括号)多余!"); return;} else { GetTop(S,&ch); if(ch=='(') Pop(S,&ch); else { printf("\n对应的左右()括号不同类!"); return;} } break; case ']': if(IsEmpty(S)) { printf("\n右...

    括号匹配检验_括号匹配检验_括号匹配程序_

    利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的...

    括号嵌套问题课程设计

    那么,序列“((()()()))()(())”的n为8,k为3,请编程判断任意给定的圆括号序列是否是一个深度为k的序列,如果是一个深度为k的序列,还要求输出其括号的对数。 (1)先输入嵌套深度k,然后输入任意...

    堆栈实现括号匹配

    * 如果输入的是右括号`)`、`]`或`}`,我们则判断堆栈是否为空,如果为空则括号不匹配,否则弹出堆栈的头部元素,并判断其是否匹配当前的右括号。 如果堆栈为空且所有括号都匹配,则输出“括号匹配!”,否则输出...

    表达式的括号匹配检验问题

    3. **判断括号是否匹配:**通过检查栈是否为空来判断括号是否全部匹配。 #### 三、数据结构选择与设计 为了实现括号匹配功能,本问题选择使用**栈**作为数据结构。栈是一种先进后出(FILO)的数据结构,非常适合用于...

    括号匹配数据结构论文 括号匹配

    5. 遍历完成后,检查栈是否为空,如果不为空,则表示有多个右括号未匹配。 6. 最后,返回匹配结果,若匹配正确则返回OK,否则返回错误信息。 二、编程语言 在本论文中,我们选择C语言作为实现括号匹配算法的语言。...

    表达式括号匹配配对判断问题

    栈的元素类型为字符型,以便存储括号。 在算法设计中,需要注意括号的类型和数目是否匹配,并且需要考虑括号的顺序关系。在处理括号匹配时,可以使用 ASCII 码来区分括号的类型,并且可以使用循环将栈中的括号都...

    js 中{},[]中括号,大括号使用详解

    注意,方括号内应为属性名的字符串形式。 JavaScript对象的属性值可以是基本数据类型,也可以是复杂的数据类型,如数组或另一个对象。对象的属性值还可以是函数,即方法。例如: ```javascript var langShen = { ...

    顺序栈实现括号配对

    在本例中,我们实现了一个名为match的函数,该函数用于判断括号配对的正确性。该函数使用顺序栈来存储括号,并判断括号之间的匹配关系。如果所有括号都正确地配对,则返回TRUE;否则,返回FALSE。 使用顺序栈可以...

    括号匹配 验证 缺少括号 括号不匹配

    - 如果是右括号(如 `)`、`]` 或 `}`),检查栈顶元素是否为对应的左括号。如果是,将栈顶元素弹出,表示找到了一对匹配的括号;如果不是,说明括号不匹配。 3. 遍历结束后,如果栈为空,说明所有括号都已匹配;若...

    IDEA花括号插件

    使用该插件可以显著提高代码阅读和编辑的效率,尤其对于那些需要处理大量嵌套括号的项目,效果尤为明显。此外,IDEA本身拥有丰富的插件库,用户可以根据自己的需求安装其他辅助工具,进一步提升开发效率。 总的来说...

    括号匹配问题

    - 如果字符是闭括号(')'、']'或'}'),检查栈是否为空以及栈顶的元素是否是对应的开括号。如果是,就将栈顶元素弹出;如果不是,或者栈为空,说明括号不匹配,返回错误。 3. 遍历结束后,如果栈为空,说明所有括号...

    用栈实现的括号匹配

    - 如果字符是右括号(如')','}',']'),则检查栈是否为空以及栈顶的左括号是否与当前右括号匹配: - 如果栈非空且匹配成功,弹出栈顶的左括号。 - 如果栈空或匹配失败,说明括号不匹配,返回错误。 3. 遍历完成...

    c++括号匹配问题 c++括号匹配问题

    在C++编程中,括号匹配是一个至关重要的概念,它涉及到程序的正确性与语法合法性。括号匹配通常指的是确保程序中的所有开启括号(如`(`、`[`、`{`)都有对应的关闭括号(`)`、`]`、`}`)。在C++中,括号用于控制代码...

    数据结构括号匹配程序c语言

    在括号匹配问题中,栈是理想的解决方案,因为我们可以将左括号(如'('、'['、'{')压入栈中,当遇到右括号时,我们检查栈顶元素是否为对应的左括号,如果是则匹配成功并弹出栈顶元素,否则表示括号不匹配。...

    8_大小括号算术_栈_源码

    我们可以遍历给定的字符串,遇到每个左括号就将其压入栈中,遇到右括号时,检查栈顶元素是否为其匹配的左括号,如果是则弹出栈顶元素,如果不是或者栈为空,则表示括号不匹配。遍历完成后,如果栈为空,则表示所有...

Global site tag (gtag.js) - Google Analytics