<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/learninghaskell/">
    <title>learninghaskell @ ウィキ</title>
    <link>http://w.atwiki.jp/learninghaskell/</link>
    <atom:link href="https://w.atwiki.jp/learninghaskell/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>learninghaskell @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2016-05-03T11:41:28+09:00</dc:date>
    <utime>1462243288</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/learninghaskell/pages/8.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/16.html">
    <title>内包表記</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/16.html</link>
    <description>
      **概要
リスト内包表記とは、数学における集合の内包的表記に類似したリスト記法である。
リストのフィルタリング、変換、組み合わせを便利に記述できる。

**文法
　内包表記を書くときは、|でリストを区切り、左に表現を、右に述語を記述する。

***値の束縛
　&lt;-演算子で、変数に値を束縛できる

&gt;ghci&gt;[x | x &lt;- [1..5]]
&gt;[1, 2, 3, 4, 5]

***述語
　述語を記述することで、その条件にあうようにリストを間引くことができる。

&gt;ghci&gt;[x | x &lt;- [1..10], x `mod` 3 == 1]
&gt;[1, 4, 7, 10]

***値の加工
　最終的に出力されるリストに加工を行うことができる。

&gt;ghci&gt;[x * 2 | x &lt;- [1..5]]
&gt;[2, 4, 6, 8, 10]

***複数リストの組み合わせ
　複数のリスト同士を組み合わせて内包表記することができる

&gt;ghci&gt;[x + y | x &lt;- [1, 2, 3], y &lt;- [10, 20, 30]]
&gt;[11, 21, 31, 12, 22, 32, 31, 32, 33]


***使い捨ての変数
　右側で使われている変数が使われない場合、それを_で表現できる

&gt;ghci&gt;[1 | _ &lt;- [1..5]]
&gt;[1, 1, 1, 1, 1]    </description>
    <dc:date>2016-05-03T11:41:28+09:00</dc:date>
    <utime>1462243288</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/15.html">
    <title>リスト演算</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/15.html</link>
    <description>
      **リストの生成

&gt;a = [2, 4, 6, 8, 10]

**レンジ
　レンジ表記を使うと、等差数列程度であれば簡単に定義することができる。

&gt;ghci&gt;[1..5]
&gt;[1, 2, 3, 4, 5]
&gt;ghci&gt;[&#039;a&#039;..&#039;c&#039;]
&gt;&quot;abc&quot;
&gt;ghci&gt;[1, 3..10]
&gt;[1, 3, 5, 7, 9]

　レンジを使えば無限リストも作れる。Haskellには遅延評価の仕組みがあるので、無限リストの要素が必要になった時に初めて評価される。

&gt;ghci&gt;[1, 2..]

***cycle, repeat, replicate
　上記関数は、繰り返しを含むリストの定義に使われる。

&gt;ghci&gt;cycle [1, 2, 3]
&gt;[1, 2, 3, 1, 2, 3, .....]
&gt;ghci&gt;repeat 3
&gt;[3, 3, 3, 3, ....]
&gt;ghci&gt;replicate 3 10
&gt;[10, 10, 10]

**リストの連結
***++演算子
　上記演算子で２つのリストを結合できる

&gt;ghci&gt; [1, 2, 3] ++ [4, 5, 6]
&gt;[1, 2, 3, 4, 5, 6]

***:演算子
　上記演算子で先頭に要素を追加できる

&gt;ghci&gt; 1 : [2, 3, 4, 5]
&gt;[1, 2, 3, 4, 5]

**リスト要素へのアクセス
***!!演算子
　上記演算子で、インデックスを使用して要素にアクセスできる。

&gt;ghci&gt; [1, 3, 5, 7, 9] !! 3
&gt;5

**リストの比較
　数値と同様に、等号や不等号を用いて比較判定ができる。不等号は辞書順を基準に判定する。

**文字列の長さ
　***length関数

&gt;ghci&gt;length [2, 4, 6, 8, 10]
&gt;5

**要素、部分リストの抽出
***head, tail, init, last
　上記演算子はよく使われるリスト関数で、以下のように要素または部分リストを抽出できる（[1, 2, 3, 4, 5]に対して適用）。

|head|1|
|tail|[2, 3, 4, 5]|
|init|[1, 2, 3, 4]|
|last|5|

***take, drop
　takeは先頭から指定した要素数のリストを取得し、dropは先頭から指定した要素数を除外したリストを取得する

|take 3 [1, 2, 3, 4, 5]|[1, 2, 3]|
|drop 3 [1, 2, 3, 4, 5]|[4, 5]|

***反転
**reverse関数
　上記関数でリストの順番を入れ替えることができる

**判定関数
***null関数
　上記演算子でリストが空かを調べられる

&gt;ghci&gt; null []
&gt;True

***elem関数
　上記演算子で要素がリストにあるかを調べられる。
　慣例的に、中置演算子として使われることが多い

&gt;ghci&gt; 4 `elem` [2, 4, 6, 8]
&gt;True


**最大値、最小値
***maximum, minimum関数
　上記関数で、リスト内の最大値・最小値を抽出できる

**要素全ての演算
***sum, product
　上記演算子で、リストの全ての要素を加算または乗算できる    </description>
    <dc:date>2016-05-03T11:27:24+09:00</dc:date>
    <utime>1462242444</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/2.html</link>
    <description>
      **メニュー
-[[関数の基本]]
--[[関数の基本文法]]
--[[関数の適用位置]]
-[[演算子]]
--[[演算子の位置]]
--[[演算子の種類]]
-[[リスト]]
--[[リスト演算]]
--[[内包表記]]
-[[タプル]]    </description>
    <dc:date>2016-05-01T21:12:52+09:00</dc:date>
    <utime>1462104772</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/14.html">
    <title>関数の適用位置</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/14.html</link>
    <description>
      **前置関数
　前置関数は、引数の前に関数を置く関数で、ほとんどの関数は前置き関数である。

&gt;f x y

　前置関数を中置として記述するには、バッククォート（`）で囲う。
　上の式と下の式は同値である。

&gt;x `f` y

**中置関数
　中置関数は、２つの引数の間に関数を置くもので、演算子の糖衣構文という意味合いが強い

&gt;2 + 3

　中置関数を前置として記述するには、カッコで囲えば良い。
　上の式と下の式は同値である。

&gt;(+) 2 3    </description>
    <dc:date>2016-05-01T20:50:04+09:00</dc:date>
    <utime>1462103404</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/13.html">
    <title>演算子の位置</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/13.html</link>
    <description>
      **Haskellにおける演算子
　Haskellでは、演算子は関数の糖衣構文に過ぎない。
　+という演算子は、(+)という関数の糖衣構文であり、次の２つの文は同じ意味である。

&gt;5 + 2
&gt;(+) 5 2     </description>
    <dc:date>2016-05-01T20:40:45+09:00</dc:date>
    <utime>1462102845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/12.html">
    <title>演算子の種類</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/12.html</link>
    <description>
      **算術演算子
|+|加算|
|-|減算|
|*|乗算|
|/|除算|

**等値性
|==|等しい|
|/=|等しくない|

**論理演算子
|&amp;&amp;|かつ|
| |||または|    </description>
    <dc:date>2016-05-01T20:31:26+09:00</dc:date>
    <utime>1462102286</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/11.html">
    <title>プラグイン/インスタグラム</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/11.html</link>
    <description>
      *インスタグラムプラグイン

人気の画像共有サービス、Instagram(インスタグラム）の画像をアットウィキに貼れるプラグインです。


 #ig_user(ユーザー名)
 と記載することで、特定ユーザーのInstagramのフィードを表示することができます。

例）@dogoftheday
#ig_user(dogoftheday)

----

 #ig_tags(タグ名)
 と記載することで、特定タグのInstagramのフィードを表示することができます。

#dogofthedayjp タグ
#ig_tag(dogofthedayjp)

----

 #ig_popular
 と記載することで、Instagramのpopularフィードを表示することができます。



詳しい使い方は以下のページを参考にしてください！
＝＞http://www1.atwiki.jp/guide/pages/935.html

--------    </description>
    <dc:date>2016-05-01T20:12:26+09:00</dc:date>
    <utime>1462101146</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/10.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/10.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/921.html#id_476878da


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment
    </description>
    <dc:date>2016-05-01T20:12:26+09:00</dc:date>
    <utime>1462101146</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2016-05-01T20:12:26+09:00</dc:date>
    <utime>1462101146</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/learninghaskell/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/learninghaskell/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/801.html#id_30dcdc73

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2016-05-01T20:12:26+09:00</dc:date>
    <utime>1462101146</utime>
  </item>
  </rdf:RDF>
