2016-08-04 6 views
0

findEntryByAddressという関数があり、インライン宣言はfilterEntryです。私は別のブールチェックを追加したいと思いますが、1行に多すぎる文字があります。haskellの複数のブール式

ブール式を分割するには、1行に1つのチェックを等しくします。

findEntryByAddress :: Address -> AddressBook -> Maybe Entry 
findEntryByAddress = head <<< filter filterEntry 
    where 
    filterEntry :: Entry -> Boolean 
    filterEntry entry = entry.firstName == firstName && entry.lastName == lastName 

Haskell's Indentation私は複数行の表記で何も確認していません。 コードはpurescript-bookです。

+1

これはHaskellかPurescriptです(両方ともタイトルがついていますが、質問のタイトルには「haskell」と書かれています)?もしHaskellなら、それを新しい行に置き、インデントしてください。 – pdexter

答えて

3

私は質問を理解していないと思いますが、このようなことをしたいですか?どこで

findEntryByAddress :: Address -> AddressBook -> Maybe Entry 
findEntryByAddress = head <<< filter filterEntry 
    where 
    filterEntry :: Entry -> Boolean 
    filterEntry entry = entry.firstName == firstName && 
         entry.lastName == lastName && 
         entry.age == age 

、次の行をジャンプすることができますが、定義の開始後表現1つのスペースの残りの部分を配置する必要がありそうHaskellのは、あなたが何か新しいものを定義していると思われます。だから、これは正しいです:

where f = x && 
     y 

をしかし、これではありません:ところで

where f = x && 
y 

、Haskellで、そこにはBooleanタイプ、Trueの種類はありませんし、FalseBoolです。