Concurrent Clean のレコード型
レコード型は、便利なようで不便なようで。
[id:lethevert:20050911:p1]
このときにもちょっと書いたけれど、レコード型に関するTipsは、集めておかないと不便な思いをする気がする。
- SomeRecord =
強調表示したようにすると、レコードとその要素を一括して束縛できる。
下のような簡略表記も可
{integerValue = iVal, stringValue = sVal} = getSomeRecord ...
{integerValue, stringValue} = getSomeRecord ...
この記法は、関数のパラメータにも使える。
-
-
- -
-
(10/Oct/2005 追記)
typo発見。ところで、「=:」は、レコード型に限らず、いろいろな局面でつかえるようだ。
たとえば
sampleFunction (lst =: [(first =: {name, value}) : rest]) ...
みたいにすれば、引数で受け取ったリストの中身をその場で展開できる。