`
persona
  • 浏览: 2733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

RWH CH02 Notes

阅读更多

Haskell is strong and static language.

 

 

*Main> head [1..10]
1
*Main> tail [1..10]
[2,3,4,5,6,7,8,9,10]
*Main> take 3 [1..10]
[1,2,3]
*Main> drop 3 [1..10]
[4,5,6,7,8,9,10]
*Main> last [1..10]
10
*Main> fst ('a' , 3)
'a'
*Main> snd ('a', 3)
3

 

We cannot assign a value to x twice.

 

 

*Main> let x = 10
*Main> x = 11

<interactive>:1:2: parse error on input `='

 

Recall that Haskell is an expression-oriented language. In an imperative language, it can make sense to omit the else branch from an if, because we're working with statements, not expressions. However, when we're working with expressions, an if that was missing an else wouldn't have a result or type if the predicate evaluated to False, so it would be nonsensical.

 

In Haskell, we can easily define a new function that short circuits benefit from haskell's lazy evaluation.

 

Answer to "Write a function lastButOne, that returns the element before the last." 

 

 

lastButOne :: [a] -> a
lastButOne (x:y:xs) = if null xs
                      then x
                      else lastButOne (y:xs)

 

But it might make a mistake for too short list.

 

 

分享到:
评论

相关推荐

    0rwh%vbm酒类代理销售协议书.doc

    0rwh%vbm酒类代理销售协议书.doc

    论文研究 - 中国股指期货的常态性

    五个假设检验用于测试随机游走假设(RWH)。 每个测试都使用日间和日内收益。 与日间分析相比,日内数据的测试结果可以更有效地描述日内市场的走势,因为日内分析消除了隔夜新闻的传播,从而在日内市场上为日内分析...

    资源池等待所有线程执行完毕的方法

    rwh = ThreadPool.RegisterWaitForSingleObject(waitObject, new WaitOrTimerCallback(CheckThreadPool), null, 1000, true); } private void CheckThreadPool(object state, bool timedOut) { int worker...

    Gunn效应的一个理论模型和自激振荡频率特性的分析* (1997年)

    RWH机制(Ridley-Watkins-Hilsum机制)是解释Gunn效应的理论基础,该机制认为电子在不同能谷之间的转移是导致负微分电导的原因。具体来说,当电场超过某个阈值时,电子从中心能谷向卫星能谷转移,由于后者具有较低的...

    ReplyWithHeader:引用Outlook.style标头和Mail.app的签名

    RWH是ReplyWithHeader的缩写,可能是项目内部或开发者之间使用的简称,便于提及或讨论这个插件。 6. **Quoting Headers in Objective-CObjective-C**: 这个标签表明ReplyWithHeader插件在实现引用标头功能时,...

    DHT.zip_DHT_Help!

    4. **rwh.m**:可能是一个名为“Richardson-Wilks”方法的函数,这是一种统计学上的估计方法,可能在这里用于评估DHT的精度或确定阈值。 5. **Filter bandwidth.m**:此文件可能涉及滤波器带宽的计算或调整,与DHT...

    PasswordGeneratorRWH

    密码生成器RWH 03 JavaScript:密码生成器 该程序等待用户单击按钮以生成满足用户指定的有限指定条件的伪随机代码。 提示用户输入长度,并且必须在指定范围内输入一个长度。 一系列确认窗口让用户选择YES(是)或NO...

    关于图书管理系统的pb课程设计报告

    - **读者维护窗口 (w_rwh)**:处理读者信息的增删改,包括读者的姓名、性别、班级和最大借阅量等。 5. **事务处理** - **图书借阅窗口 (w_lbook)**:用户可以借阅图书,同时显示借阅者和图书信息。 - **图书归还...

    1782中文说明—简介

    - **位域读写类型**: 包括 rw (读写)、rwh (可被硬件置位或复位的读写)、r (只读)、w (只写)、rh (可读硬件) 和 s (单向“粘着”位) 等不同类型。 通过以上知识点的梳理,读者可以更全面地了解 TC1728 微控制器的...

    百万安全工时指标大全

    实际工时(RWH)则是机关、后勤和服务人员与工作有关的人工时,按每人每天12小时计算。 百万工时损工率(TLWR)是衡量损失工时的指标,通过损失工时除以总工时再乘以百万来计算。总工时(TMH)是人工时总和的另一种...

    应用笔记RM0479+基于+BlueNRG-LP+ARM+Cortex-M0

    - 只读写入触发器(rt_w/RWH):写入任何值都会触发事件。 - 切换(t/RWT1):仅通过写入1来切换。 - 保留(Res.):必须保持复位值。 #### 知识点四:术语表与缩略语 - **术语解释**: - **SoC**:系统级芯片,集成...

Global site tag (gtag.js) - Google Analytics