約 2,107,924 件
https://w.atwiki.jp/knenethaskell/pages/25.html
関数は、型が合ってないと使えないんだけど、違う型でも同じように使えると便利なものもあるよね。 Prelude True /= False True Prelude 10 /= 20 True このような関数をクラスメソッドというんだけど、これがどういう風に定義されているか見てみよう。 というわけで、次のソースコードを使って説明するよ。 module TestClassMethod where data Type1 = A | AA data Type2 = B | BB type1 A = 1 Int type1 AA = 11 Int type2 B = 2 Int type2 BB = 22 Int class MyClass a where number a - Int calculate a - a - Int calculate x y = (number x) * (number y) instance MyClass Type1 where number x = type1 x instance MyClass Type2 where number x = type2 x 動作を見る前に、何をしているか説明しておこう。 最初のdata ~の部分は、新しい型を作っているね。 新しい型を作った場合、何もなければ関数を適用できないんだったよね。 それで、次にこの型を使った関数を定義しているんだ。 この関数は型とほとんど同じ名前だけど、最初の字が大文字か小文字かが異なる。 この例だと、単に紛らわしいだけだけど(実際に使う関数を作るときには良くないね)、 新しい語句を見かけたら、最初の字を見て関数か型かを判断してね。 type1とtype2は2回定義されているよね。 これは、パターン照合(パターンマッチング)といって、 型が同じで値が重ならなければ、一つの関数名に複数の定義を当てられるんだ。 まあ、関数は全ての値に対して定義されないとエラーの元になるんだけどね。 このソースはちゃんと定義されているから、次の例でエラーになることを確認しよう。 *TestClassMethod let bol True = True *TestClassMethod bol True True *TestClassMethod bol False *** Exception interactive 1 4-18 Non-exhaustive patterns in function bol このエラーメッセージも覚えておこう。 パターン照合は、もっと簡潔に書けるけど、それは、詳しい説明も含めて別の機会に。 その次はクラスの宣言だ。 他のクラスを iで見たのと同じように書けば、それで宣言になる。 以下も自分で書くんだよ。これもれっきとしたhaskellの書式の一つなんだ。 クラス宣言では、関数(クラスメソッド)は で型宣言をしておけばいい。 あと、型が合ってさえいれば、ここで関数の定義も出来る。 そして、その次にインスタンスの宣言をする。 クラスと型を示して、クラスメソッドの、その型に対する定義を書くんだ。 このソースの宣言はそのままだね。 ああ、もちろん、type1とか名前を付けないで、ここに直接numberの定義を書いても問題ない。 むしろそっちの方がいい。ここは説明の順番として、ね? ともかく、これでクラスメソッドが使えるようになった。試してみよう! *TestClassMethod t number number (MyClass a) = a - Int *TestClassMethod number A 1 *TestClassMethod number BB 22 宣言した通りだね。 tの見方も理解できるよね。 *TestClassMethod calculate AA AA 121 *TestClassMethod calculate B BB 44 *TestClassMethod calculate A B interactive 1 12 Couldn't match `Type1' against `Type2' Expected type Type1 Inferred type Type2 In the second argument of `calculate', namely `B' In the definition of `it' it = calculate A B ここで注意して欲しいことがある。二つの値が別々の型だと、上手く計算できないんだ。 型宣言を見直そう。 *TestClassMethod t calculate calculate (MyClass a) = a - a - Int *TestClassMethod t calculate A calculate A Type1 - Int *TestClassMethod t calculate B calculate B Type2 - Int calculateは、一方の型が決まったら、もう一方も型が制限される。 だから、型が異なると計算できない。 まあ、この関数の場合、返り値はIntで統一されているから、上手くやれば違う型でも適用できるようになりそうかな。 これで一応、クラスとクラスメソッドの使い方は分かったね。 実際にクラスを作るときは、スーパークラスを指定するものだけど、そのやり方はまた今度。 次は入出力を見てね。
https://w.atwiki.jp/knenethaskell/pages/18.html
型構築子type constructorとはなんぞや。 ※ と思って、このページの説明を書いていたけれど、 どうもここで言及しているものはデータ構築子(data constructor)らしい。 Boolなどが型構築子、Trueなどがデータ構築子。 第一部を書き終わるまで気が付かなかったので、第一部では全て間違って使ってる。 このwikiは学習中のメモなので、記録を残すためにあえて直さないから注意してね。 ※ やさしい Haskell 入門 (バージョン98) ここの「2.2 ユーザ定義の型」を参考に、実際に試してみる。 真偽値は型構築子らしい。真偽値というのは、 *Test 1 == 1 True *Test 1 == 0 False この返り値だね。じゃあ、新しいファイルを作ろう。 module Test2 where p1 = True p2 = False これを読み込んで、値と型を見てみる。 *Test2 p1 True *Test2 p2 False *Test2 t p1 p1 Bool *Test2 t p2 p2 Bool どうも、型構築子というのはそれ自体の集合で型を決めるらしいね。 *Test2 t True True Bool 情報で見てみよう。 *Test2 i Bool data Bool = False | True (略とか書くの面倒くさいから、適当に略) |というのは普通、orを意味する。つまり、BoolはFalseかTrueのいずれか、ってこと。 で、略したけど、Boolは色々なクラスのインスタンスだと。 それがわかるとなにがうれしいかは、スーパークラス(続き)を読めばわかるかなあ。 それで、これは数値の型とは明らかに違うよね。Intと比べてみよう。 *Test2 i Int data Int = I# GHC.Prim.Int# どうも、処理系のレベルで決められているみたい。 一応、数値を書いて、型を明示するとIntになるから、それも型構築子の一つなんだろうか。 まあ、真似して宣言を適当に書いてみよう。 ファイル名はモジュールと同じにすると分かりやすいよ(モジュール名が分かりにくいけど)。 module Test2b where data MyType = Faux | Vrai | Hohe Int | Fuhe Float p1 = Faux p2 = Vrai p3 = Hohe 3 p4 = Fuhe 1.5 p5 = Hohe かなり適当な感じだけど、問題なく読み込める。 Ok, modules loaded Test2b. 上手く行ってるか確認しようとしたら問題発生。 *Test2b p1 Top level No instance for (Show MyType) arising from use of `[[print]]' at Top level Probable fix add an instance declaration for (Show MyType) In a 'do' expression print it 前に出たのと同じ感じだ。どうも、このエラーメッセージは的を射ているようだ。 他に宣言が必要なんだね。まあ、それは後で調べることにしよう。 今回はもう一つの調査方法を使おう。 *Test2b t p1 p1 MyType *Test2b t p2 p2 MyType *Test2b t p3 p3 MyType *Test2b t p4 p4 MyType *Test2b t p5 p5 Int - MyType p1からp4まで問題なし。型の定義はこんな感じで出来るみたいだ。 p5はわざと中途半端な定義にしたけど、GHCiを怒らせることは出来なかった。 *Test2b t p5 7 p5 7 MyType Intを与えると完成する部品になるんだね。 *Test2b t Fuhe 2 Fuhe 2 MyType これでも種類が出るね。 さて、型構築子がどんなものか、ここまでで分かったことをまとめよう。 型構築子は型のインスタンスを作れる。 値を持つこともできる。値の取り方は、一つの型の中でも異なっていて良い。 新しい型構築子から作られたインスタンスは、対応する関数を持たない(これも作らないと利用できない)。 関数は、代入できる型の種類を限定するんだよね。 でも、型の中にも型構築子があって、それぞれの形が違う。 だから、関数は型構築子ごとに別々の処理をしなくちゃいけない。それがパターンマッチングなんだ。 型と関数の関係にもう一つ考察を加えよう。新しい型は、扱える関数を作らないと意味がない。 逆に、新しい型だけを扱える関数は、既存の型の関数と混じることがない。 だから、別々の型を使うと決めてしまえば、それぞれの作用を取り違えないで済むね。 多分、それを利用して副作用を分離しているのだろう。 次は、色々な型、パターンマッチング、副作用のどれかに進んでね。
https://w.atwiki.jp/revhaskell/
Haskell逆引きWiki このウィキはHaskellの機能から実装方法を探す為のWikiとして作成してる物です。 このページを見つけられる人がいるのかどうか分かりませんが、記事の作成にご協力してくれるかたがいらっしゃるのであれば嬉しい限りであります。 今のところ特にここに書きたい事も見つからないのでとりあえずこの下は@wikiの初期設定のままにしておきます。 始めから書いてあったこと まずはこちらをご覧ください。 @wikiの基本操作 用途別のオススメ機能紹介 @wikiの設定/管理 分からないことは? @wiki ご利用ガイド よくある質問 無料で会員登録できるSNS内の@wiki助け合いコミュニティ @wiki更新情報 @wikiへのお問合せフォーム 等をご活用ください @wiki助け合いコミュニティの掲示板スレッド一覧 #atfb_bbs_list その他お勧めサービスについて 大容量1G、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES 無料ブログ作成は@WORDをご利用ください 2ch型の無料掲示板は@chsをご利用ください フォーラム型の無料掲示板は@bbをご利用ください お絵かき掲示板は@paintをご利用ください その他の無料掲示板は@bbsをご利用ください 無料ソーシャルプロフィールサービス @flabo(アットフラボ) おすすめ機能 気になるニュースをチェック 関連するブログ一覧を表示 その他にもいろいろな機能満載!! @wikiプラグイン @wiki便利ツール @wiki構文 @wikiプラグイン一覧 まとめサイト作成支援ツール バグ・不具合を見つけたら? 要望がある場合は? お手数ですが、メールでお問い合わせください。
https://w.atwiki.jp/learninghaskell/pages/13.html
Haskellにおける演算子 Haskellでは、演算子は関数の糖衣構文に過ぎない。 +という演算子は、(+)という関数の糖衣構文であり、次の2つの文は同じ意味である。 5 + 2 (+) 5 2
https://w.atwiki.jp/tune_projects/pages/15.html
想定してるのは壮大なストーリーのRPG(2D)だけど、いきなり大きなものを作ろうとすると間違いなくずっこけるので、パーツを揃えながらちょっとづつ形にしていく感じで。 最低限作る必要があるもの ここで作ったものはFramework化して、後々も使えるようにする。 マップ移動システムマップ内歩きまわるだけでドーパミン放出しまくる操作感(期待値) 別途キャラクタ/マップエディタが必要 イベント処理システムキャラクターの会話とか選択肢とか アクションRPGに発展させられるように柔軟性持たせた作りに データのセーブとか簡単にできるようにしたいJSON形式で保存すればいくね? メニューシステム多分ゲーム毎にカスタムできるくらいの自由度は必要 でも基本的な選択肢なんかはチャチャっと組めるようなFrameworkにする とりあえずここまで1年半くらいで仕上げて、2年後くらいには戦闘無しの探索RPGリリースしたい 簡単なものとは言え、それなりに本格的に・・・ ゲーム毎に作る必要のありそうなもの 戦闘システムマップシステムと連携して、キャラのレベルやステータスを共有できるようにしたいね
https://w.atwiki.jp/mamonbo/pages/17.html
@wikiでのwikipedia like modeでは画像の挿入は検討中とのこと ちなみにこのページは@wiki mode ライセンス パブリックドメイン
https://w.atwiki.jp/wiki6_piro/pages/1592.html
Helen Gaskell ヘレン・ガスケル ダウンヒルレーサー。 国籍 イギリス 生年月日 1983年1月16日 2006シーズン リザルト 2006年ワールドカップ ダウンヒル 女子 #1 #2 #3 4位 9位 使用機材 フレーム インテンス フォーク ロックショックス リアユニット フォックスレーシングショックス ホイール マヴィック タイヤ マキシス コンポ [[]] クランク [[]] ペダル [[]] デバイス MRP ブレーキ ホープ ハンドル [[]] シートピラー [[]] サドル [[]] ヘルメット トロイリーデザインズ アイウェア オークリー ウェア オークリー プロテクター [[]] シューズ [[]] 関連項目 自転車用語 + ... あ行▼ アーガイル アーネット アーレンキー Aaron Gwin Aaron Chase アイウェア ISIS iドライブ Iビーム アウターチューブ 東商会 Adam Craig Adam Hauck 安達靖 アトムラブ Anita Molcik Anneke Beerten アヘッドステム アメリカンバルブ アメリカンBB アルチュラ アルミニップル アレックス アンカー アンサー アンターンダウン Andrew Neethling Andreu Lacondeguy Andrew Shandro アイアンホース アイステクノロジー アイスペック アイドゥン アキコーポレーション アクソ アケボノ アゾニック アップスウィープ アディダス アブバカ アリソン・サイダー アリビオ アルパインスター アルピナ アルマイト アルミニウム アルミニウム合金 アンソン・ウェリントン アン・キャロリーヌ・ショソン E13 イーストン イーヴィル イエティ ITA規格ノーマルサイズ 井手川直樹 Irina Kalentieva インスタントリリース インターテック インチ インディアンエアー インテグラルヘッド インデックスシフト インナーチューブ インフレーター インターナショナルスタンダード インターマックス インダストリーナイン インテンス インテンスタイヤシステム インパルス インフィニ インヴァート ウィーザピープル ウィッパーマン ウィリー ウィンドストッパー ウェーブローター ウェス ウェルゴ Wade Bootes ウェイン・ゴス ウォールライド ウッズバルブ ウルトラツアー ウェイド・シモンズ エアサスペンション エアスプリング エアターン エアロスポーク エクスターナルBB SRサンツアー SDG SPD-R Emmeline Ragot エラストマー Eric Carter エレベーテッドチェーンステイ エンデューロワールドシリーズ エンデューロワールドシリーズ/2013年 エンド金具 エンド幅 エンヴェ エイアンドエフ エクスペド エッジ エリック・ポーター エリート エルスワース オイルダンパー オーキッド オークリー オーストリッチ オーディナリー型 オーバーサイズ オーバーロックナット寸法 オールトラベル オールマウンテン オールマウンテン(マルゾッキ) 小笠原崇裕 オクタリンク オクタンワン オデッセイ オニール 鬼こぎ 小野寺健 折り畳み自転車 オルトリーブ オルベア オレンジ オリンピック か行▼ カーカス カーター・ホランド カート・ヴォレイス カートリッジBB カーリン・ダン Kyle Strait カシマコート カセットスプロケット カップアンドコーンBB カトリナ・ミラー Kamil Tatarkovic 完組ホイール カンチブレーキ カンチブレーキ台座 ガイドプーリー ガセット カイル・エベト カヤバ カルロ・ディエクマン カワシマサイクルサプライ カンパニョーロ ガン・リタ・ダール キックバック Guido Tschugg Kathy Pruitt キャットアイ キャリアダボ キャリパーブレーキ キャリパーブレーキ台座 キャットウォーク Cameron Zink Cameron McCaul キャリア キャンピング Qバイクス 逆ねじ キアラ・ビサロ キャットライク キャノンデール キャノンデール・ザカット(2006) ギャレス・デイヤー グッドリッジ クラウン クラック クランカー クランク クランク軸 クリート Chris Akrigg Chris Kovarik Christoph Sauser クリフハンガー クリンチャータイヤ Claire Buchar Xアップ クロスカントリーオリンピック クロスカントリーバイク クロスカントリーマラソン Xバート クロスバイク クロムモリブデン鋼 グーフィースタンス グラインド グラブ グリップ Greg Minnaar クライン クラインプレシジョンBB クラブモデル クランクフリップ クリスキング クリス・ハットン クリフジャンプ クロスカントリー クロスマックス グラビティー グリス グリップシフト グレッグ・ワッツ 軽車両 ケーンクリーク 結晶粒度 Kelly McGarry ケンダ 原動機付自転車 ゲイリーフィッシャー Goran Jurica コア コイルサスペンション コースターブレーキ コーダ コーブ コーワ 国際自転車競技連合 コックス コナ・クランプ(2006) コラテック コルナゴ コンプレッションホイール コンポーネント ゴースト ゴールドラベル コナ コルサ コルドバ コロンバス コンチネンタル コントロールテック さ行▼ サーカス サーボウェーブ サーリー サイドウォール サイドバッグ サイロ サスペンションシートポスト サスペンションフォーク サスペンションポンプ サドルレール サドル サドルバッグ サピム Sabrina Jonnier Sam Hill Sam Pilgrim Sam Blenkinsop サルサ サンドマン サスペンションユニット サブ4ペダル サムシフター サリ・ヨーゲンセン サンタクルズ サンタクルズ・シンジケート(2012) サンツアー サンライン サンリングル Geof Gulevich Julien Absalon SID ジー ジー/M640系 Gee Atherton シーオッタークラシック シートアングル シートクランプ シートステイ シートチューブ シートチューブ長 シートポスト シートポストキャリア Geoff Kabush Jeremy Horgan-Kobelski 661 ジップ 自転車/交通に関する法規 自転車ツーリング 自転車の歴史 自転車道(道路交通法) シフトレバー シマノ シャーマン Justin Leov 車道 シャドウディレイラー 車両 ジャイアントジャパン Justin Havukainen Jared Graves シュモルケ 小径車 小児用の車 ショームス・マクグラス Sean Watson Jill Kintner シングルクラウン シングルトラック シンテイス ジープロード ジオメトリー 時効硬化 JIS規格ノーマルサイズ JIS規格BB 自転車 ジャックナイフ ジャックナイフターン ジャンプバイク ジュディー Julien Camellini ジロ シクロクロス シクロクロスバイク シディ シバー シフター シマノ/ディスクブレーキ シマノ/マウンテンバイクコンポーネント シュウィン シュワルベ ショーワ シンクロス シングルスピード シーオッタークラシック/2006年 シーオッタークラシック/2010年 ジェイミス ジェフ・レノスキー ジャイアント ジャイアントUSA(2006) ジャイアントファクトリーオフロードチーム(2011) ジャレッド・ランド ジャンプ技一覧 ジョエイ・ゴフ ジョン・コーワン ジョー・ブリーズ スイングアーム スーパーマン スーパーマンシートグラブ スーパーオーバーサイズ スー・ヘイウッド 末政実緒 スクエアテーパー スケートパーク 鈴木雷太 スタンドオーバーハイト ステアリングコラム Steve Peat ステンレス ストーク ストローク スネークバイト スパニッシュBB スプリング スポーク スラント角 スロープスタイルバイク スカレブ スコット スタンス ステム ストロングライト ストーンエッジ スバル・トレック(2012) スパイ スパイン スパンク スペシャライズド スペシャライズドレーシング(2012) スポルティーフ スミス スラム スリックタイヤ スレッド スロープスタイル Celine Gros セイント セイント/M800系 セイント/M810系 セイント/M820系 世界選手権大会 Cedric Gracia 720 セライタリア セラサンマルコ セレブ センタープルブレーキ センターリッジ センターロック Z2 Z1 セブン セミスリック セラロイヤル ソンブリオ ソフトテイル ソラ た行▼ ダートジャンパー ダートフリーク ターナー ターンダウン ダイナシス タイヤ Tyler McCaul ダウンヒルチューブ TAK21 竹谷賢二 Danny Hart たのしいやまみち ダブルダウンサイドテイルウィップ タラス Dan Atherton 鍛造 ダークサイクル ダートジャンプ 大規模自転車道 ダイヤモンドフレーム ダイレクトステム ダウンスイング ダウンヒル ダウンヒルコース ダウンヒルバイク ダンパー バーエンドコントローラー タイオガ タイテック タイム タイムトライアルバイク タイヤレバー タイラー・クラッセン タックス タックノーハンド タラ・リャネス タンゲ ダイアテック ダイネーゼ ダウンヒルレース ダニエル ダニカ・シュローター ダブルバックフリップ ダブルバテッド ダブルレバー ダレン・ベラクロス ダレン・ポコイ チェーン チェーンステイ チェーンデバイス チェーンホイール チェーンリング チタン チャージ チューブ チューブラータイヤ チューブレス チューブレスリム チューブス 調質 チキンウィング チタン合金 チューブレスタイヤ チューン ツーピースクランク ツーウェイリリース ツーリング ツーリングバイク ツバグラ ディズナ ティンカー・ウォーレス テーパーヘッド テーブルトップ テールライト デオーレ デオーレLX デオーレLX/M570系 デオーレLX/M580系 デオーレLX/T660系 デオーレXT デオーレXT/M750系 デオーレXT/M760系 デオーレXT/M770系 デオーレXT/M780系 デオーレ/M510系 デオーレ/M530系 デオーレ/M590系 デオーレ/M610系 デュアル テレスコピックサスペンション テンションプーリー テンションホイール DMR DT ディープリム ディスクハブ ディスクブレーキ ディレイラー デモンターブル デュアルコントロールレバー ティアグラ ティモ・プリッツェル テイルウィップ ディザスター ディスオーダー6 ディスクブレーキ台座 デイティー デイブ・ワトソン デュアルスラローム デュラエース デンジャーボーイ Dominik Raab 29er 東京サンエス 道路構造令 トーテム Tomas Slavik トーマス・ヴァンダーハム トーマス・フリシュクネヒト DOT Todd Wells トップチューブバッグ トップノーマル トライアスロンバイク トライアルバイク トランジション 888 トリプルクランク トルクスレンチ Tracey Hannah Tracy Moseley トレイルライド トレッド トレッキングバイク Troy Brosnan ドロップハンドル 泥除けダボ トップチューブ トピーク トボガン トマック トムソン トム・リッチー トライアル トライスポーツ トラックドライバー トラックバイク トラビス トラベル トランスファー トリガーシフター トルクス トルヴァティヴ トレイル トレック トレックワールドレーシング(2010) トレックワールドレーシング(2012) トロイリーデザインズ トロンド・ハンセン ドメイン ドラゴン ドロップオフ な行▼ ナイキ ナックナック ナッシング ニールス・ウィンドフェルト Nick Beer ニップル ニップル回し 日本マウンテンバイク協会 ニクソン ニコライ ニコラ・ヴィヨス ニナ・ゲール ヌークプルーフ Nathan Rennie ねじ 熱処理 ノースウェーブ ノースショア ノーハンド ノーフット ノーフットキャンキャン ノキアン ノルコ は行▼ パークツール バースト バースピン ハードテイル ハーフキャブ バームスライダー パールイズミ パイク 廃道 ハイドロフォーミング パイロット 発光ダイオード パナソニック パナレーサー バニーホップ180 バニーホップテイルウィップ バニーホップ360 ハブブレーキ パラレルプッシュリンク パレ那須 バレルロール パンク ハンドルバー バーテープ バッシュガード バテッドスポーク バネ下重量 ヴァネッサ・クイン ハイパードライブ ハドレー ハブ ハブスパナ ハブダイナモ ハロー ハンドプラント バックサイド バックスウィープ バックフリップ バテッド バニーホップ バニーホップロックウォーク バンズ ピーク ヒールクリッカー ピボタル ビーチクルーザー ビード BB下がり BBハイト ビンディングペダル ヒルクライム ビアンキ ファティー Fabien Barel ファットバイク Fionn Griffiths フィジーク Vブレーキ Filip Polc プーリー プーリーケージ フォーク 4X(マルゾッキ) フォークロスバイク フォーミュラ フォーアーム フォークロス 4Xプロツアー ふじてんリゾート 普通自転車 フックドエッジ フットプラント Brian Lopes ブラスニップル フラットバー フラットペダル ブラックスパイア プラペダル フリーコースターハブ フリーハブ フリーホイール フリーライドバイク フルボトム フレア ブレーキローター フレーム プレスフィットBB86 プレスフィットBB92 プレスフィット30 振れ取り 振れ取り台 Brendan Fairclough フレンチバルブ プロ フロート プロテック プロファイルレーシング Floriane Pugin Florian Vogel プロロゴ フロントキャリア フロントセンター フロントディレイラー フロントバッグ Bryn Atkinson ブレーキ ブレーキシュー ブレーキ台座 ブレーキパッド ブレーキホース ブレーキレバー ブレード ファイブテン ファン ファンファンシー フェイキー フェイキーマニュアル フェルト フォックスレーシングショックス フォーバーリンケージ フファニュ フリーライド フルサスペンション フルダイナミクス フレドリック・ケシアコフ フロントスプロケット フロントハブ フロントフリップ ブラック ブリコ ブルックリンマシンワークス ブレーキフルード ブロックタイヤ ペース 北京オリンピック ペグスパナ ペダル ペダルレンチ ヘッドショック ヘッドライト ヘッドアングル ヘッドチューブ ヘッドパーツ Benny Phillips ヘルメット Helen Gaskell ヘイズ ベル ベンダー ベンド ベン・ボイコ ホイール ホーザン ホープ Paul Basagoitia ホーン ポゴ ポゴ180 Jose Antonio Hermida 歩道 ポリプロピレン ボトルケージ ボトルケージ台座 ボビング ホシ ホッピング ホローグライド ホローテック ホローテックⅡ ボクサー ボクサーマウント ボトムブラケット ボトムブラケットシェル ボムシェル ボントレガー ま行▼ Marc Beaumont マーズ Martin Soderstrom マーベリック マーリン Mike Hopkins マウンテンバイク マクスル マグラ台座 マスターシリンダー Matti Lehikoinen マニュアル Manuel Fumic マヴィック Mary McConneloug マルチリリース マウンテンバイクチーム一覧 マウンテンバイク競技 マウンテンバイク選手一覧 マキシス マキシスMSC(2006) マグラ マッドタイヤ マニトウ マムアンドポップス マリン マリー・ヘレナ・プレモン マルクス・クラウスマン マルコウフ・ベルシトウド マルゾッキ マングース Mickael Deldycke Mickael Pascal Michal Marosi ミショー型 ミッドBB ミノウラ ミシュラン ミズタニ自転車 ムーツ メカニカルディスクブレーキ Melissa Buhl メット メリダ モノリンク モンスタークロス モアウッド モトクロスインターナショナル モラティ モンスターエナジー・スペシャライズド(2012) モンドレイカー モンベル や行▼ 焼きなまし 柳原康弘 Jana Horakova Yannick Granieri 山口孝徳 山本幸平 油圧式ブレーキ 油圧リムブレーキ UCIマウンテンバイクワールドカップ ユートピア Uブレーキ Julien Muller Jurg Meijer ユッチンソン ユリス 溶体化処理 Joost Wichman らわ行▼ ライザーバー Ryder Kasprick ライトスピード ラジアル組み ラス Rafael Alvarez De Lara Lucas ランドナーバー ライアン・リーチ ライズ ライトウェイ ライバル ラピッドファイヤープラス ランス・マクダーモット ランドナー リアエンド リアキャリア リアサスペンション リア三角 リアセンター リアディレイラー リアホイール Liam Killeen リーコン リーチ リーバ リクセンカウル リジッドバイク リバースアーチ リム リムテープ リムブレーキ リンク式サスペンションフォーク 輪行 輪行袋 リンスキー リアハブ リカンベント リジッドフォーク リッチ・ハウズマン リッチー リッチー・シュレイ リパック リベレーション リムセメント リリック ルークス ルディープロジェクト ルイガノ ルック ルックダウン ルックバック ルック車 Rachel Atherton レーザー レースフェイス レザイン レッドブルランページ レッドブルランページ/2013 レバー比 レフティー レフトドライブ レボシフト レンサル レアナ・ジェラード レイク レイノルズ レギュラースタンス レッド レッドブル レモン Roel Paulissen ローテック ロードバイク ローノーマル ローラーブレーキ Laurence Leboucher ロールアウト ロールバック ローロフ ロケット Roger Rinderknecht 路側帯 ロックウォーク ロックオン ロトワイルド ロイヤルレーシング ロッキーマウンテン ロッキーマウンテン・ビジネスオブジェクツ(2006) ロックアウト ロックショックス ロックタイト ロビー・ボードン ワールドカップ ワイドリンクデザイン ワイヤーカッター ワイヤードオン 180 ワンポイントファイブ ワンハンド 数字▼ 105 10速 15mmアクスル 180 1996年世界選手権大会 2005年ワールドカップ ダウンヒル 女子 2005年ワールドカップ ダウンヒル 男子 2005年ワールドカップ フォークロス 男子 2005年世界選手権大会 2006年NMBS クロスカントリー 2006年NMBS ダウンヒル 2006年アディダススロープスタイル 2006年クランクワークス 2006年ザ・ギャザリング 2006年ブラウン26トリックス 2006年リスボンダウンタウン 2006年レッドブルディストリクトライド 2006年ワールドカップ クロスカントリー 女子 2006年ワールドカップ クロスカントリー 男子 2006年ワールドカップ ダウンヒル 女子 2006年ワールドカップ ダウンヒル 男子 2006年ワールドカップ フォークロス 女子 2007年世界選手権大会 2008年ワールドカップ ダウンヒル 男子 2009年ワールドカップ ダウンヒル 男子 2011年レッドブルホーリーライド 2012年ワールドカップ ダウンヒル 男子 20mmアクスル 20インチ 24インチ 26インチ 27.5インチ 29+ 29er 29インチ 360 3Al-2.5Vチタン 4Xプロツアー 4X(マルゾッキ) 6000番系アルミニウム合金 650A 650B 650C 661 6Al-4Vチタン 700C 720 888 9速 アルファベット▼ Aaron Chase Aaron Gwin Adam Craig Adam Hauck Andreu Lacondeguy Andrew Neethling Andrew Shandro Anita Molcik Anneke Beerten ATA ATi AXライトネス BB30 BB386EVO BB90 BB95 BBハイト BBライト BB下がり Ben Travis Benny Phillips BL-M950 BR-M739 BR-M750 Brendan Fairclough Bryn Atkinson Cameron McCaul Cameron Zink Celine Gros CFRP Chris Akrigg Chris Kovarik Christoph Sauser Claire Buchar CS-M770 CS-M771-10 Dan Atherton Danny Hart DCシューズ dkg DMR DNF DNS Dominik Raab DOT DT E13 EBC Emmeline Ragot Eric Carter ET ETA ETRTO Fabien Barel FC-M601-2 Ferdi Fasel FH-M950 Filip Polc Fionn Griffiths Florian Vogel Floriane Pugin FSA Gee Atherton Geoff Kabush Goran Jurica Greg Minnaar GT GTファクトリーレーシング(2012) Guido Tschugg Helen Gaskell HG HGチェーン HS33 IG IRC Irina Kalentieva ISCG ISIS ITA規格ノーマルサイズ Iビーム James Patterson Jana Horakova Jared Graves JD Swanguen Jeremy Horgan-Kobelski Jill Kintner JIS規格BB JIS規格ノーマルサイズ Johannes Fischbach Joost Wichman Jose Antonio Hermida Julien Absalon Julien Muller Jurg Meijer Justin Havukainen Jシリーズ K2 Kamil Tatarkovic Kathy Pruitt Kelly McGarry KHS Kyle Strait Laurence Leboucher LED Liam Killeen Manuel Fumic Marc Beaumont Martin Soderstrom Mary McConneloug Matti Lehikoinen MBUKサンタクルズ(2006) Melissa Buhl Michal Marosi Mickael Deldycke Mickael Pascal Mike Hopkins MRP MSC MSイーヴィルレーシング(2011) Nathan Rennie Nick Beer OCLV ODI OGK OLD PCD Qファクター R7 Rachel Atherton Rafael Alvarez De Lara Lucas RBデザイン RD-M772SGS Roel Paulissen Roger Rinderknecht Romain Saladini Ryder Kasprick Sabrina Jonnier Sam Blenkinsop Sam Hill Sam Pilgrim SDG Sean Watson SID SIS SL-M800 SLR SLX SLX/M660系 SLX/M670系 SPD SPD-SL SPV SRサンツアー ST-M775 Steve Peat STI TAK21 the Todd Wells Tomas Slavik TPC Tracey Hannah Tracy Moseley Troy Brosnan TSG TST5 Tyler McCaul UCI UCIマウンテンバイクワールドカップ UCIマウンテンバイクワールドカップ/2013年/ダウンヒル男子 URT UST Uターン Uブレーキ VPP Vブレーキ Wade Bootes WTB X.O XC(マルゾッキ) XTR XTR/M950系 XTR/M960系 XTR/M970系 XTR/M980系 Xアップ Xバート Xフュージョン Yannick Granieri YTインダストリーズ Z1 Z2 ZR9000 2005年リスボンダウンタウン 2005年ワールドカップ ダウンヒル 女子 2005年世界選手権大会 2006年ワールドカップ ダウンヒル 女子 2007年ワールドカップ ダウンヒル 女子 2008年ワールドカップ ダウンヒル 女子 ツリーメニューライダー マウンテンバイク選手一覧 タグ 1983年生 「H」 「へ」 アルファベット イギリス人 ライダー 女子ダウンヒル 自転車用語
https://w.atwiki.jp/staskelurn/
今日からはじめました 見てください! 本日からブログを始めます 毎日何でもかんでもアップしちゃおう ためしにご覧になって下さい(*^_^*) 皆様よろしくです
https://w.atwiki.jp/learninghaskell/pages/15.html
リストの生成 a = [2, 4, 6, 8, 10] レンジ レンジ表記を使うと、等差数列程度であれば簡単に定義することができる。 ghci [1..5] [1, 2, 3, 4, 5] ghci [ a .. c ] "abc" ghci [1, 3..10] [1, 3, 5, 7, 9] レンジを使えば無限リストも作れる。Haskellには遅延評価の仕組みがあるので、無限リストの要素が必要になった時に初めて評価される。 ghci [1, 2..] cycle, repeat, replicate 上記関数は、繰り返しを含むリストの定義に使われる。 ghci cycle [1, 2, 3] [1, 2, 3, 1, 2, 3, .....] ghci repeat 3 [3, 3, 3, 3, ....] ghci replicate 3 10 [10, 10, 10] リストの連結 ++演算子 上記演算子で2つのリストを結合できる ghci [1, 2, 3] ++ [4, 5, 6] [1, 2, 3, 4, 5, 6] 演算子 上記演算子で先頭に要素を追加できる ghci 1 [2, 3, 4, 5] [1, 2, 3, 4, 5] リスト要素へのアクセス !!演算子 上記演算子で、インデックスを使用して要素にアクセスできる。 ghci [1, 3, 5, 7, 9] !! 3 5 リストの比較 数値と同様に、等号や不等号を用いて比較判定ができる。不等号は辞書順を基準に判定する。 文字列の長さ ***length関数 ghci length [2, 4, 6, 8, 10] 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関数 上記演算子でリストが空かを調べられる ghci null [] True elem関数 上記演算子で要素がリストにあるかを調べられる。 慣例的に、中置演算子として使われることが多い ghci 4 `elem` [2, 4, 6, 8] True 最大値、最小値 maximum, minimum関数 上記関数で、リスト内の最大値・最小値を抽出できる 要素全ての演算 sum, product 上記演算子で、リストの全ての要素を加算または乗算できる
https://w.atwiki.jp/knenethaskell/pages/21.html
タプルというのは、(a,a)のような型の組なんだ。 この組は1つの値として扱われるよ。 まあ、それだけなんだけど、結構柔軟だから、 tで試してみよう。 Prelude t (-1,0) (-1,0) (Num a, Num b) = (a, b) これは、a,bはそれぞれNumクラスに制約されたインスタンスであることを示しているね。 それぞれに制約が書いてあるから、別々でも良いんだろうね。 Prelude t ("mohikan", False) ("mohikan", False) ([Char], Bool) [Char]とBoolの組になったね。今度は個数を変えてみよう。 Prelude t (True) (True) Bool Prelude t (True,True,True) (True,True,True) (Bool, Bool, Bool) Prelude t (False,2,9.0,10,"Aha",True) (False,2,9.0,10,"Aha",True) (Num b, Fractional c, Num d) = (Bool, b, c, d, [Char], Bool) 1つだとただの型になっちゃうね。これはタプルじゃないよ。タプルに対してアトム(原子)と言えばいいかな。 3つは問題なし。6つでも大丈夫だね。タプルは2個以上ならいくつでもいいんだ。 でも、参照するときに項目数が指定されるから、特別なことがなければ個数を変えることは出来ないね。 タプルについてはひとまずこれでいいかな。 そうそう、似たようなものにリストがあるから、次はこれを見てみよう。。