関数宣言、リスト、タプル、リスト内包について。+、-、*、/はpython3と同じ。破壊的代入はできないので+=などは使えない。Trueとかも使える。Funtionsその他succは引数の型に属する次の値を返す。'b')StringとCharは区別する。文字列(string)は"で囲み、一文字(Char)は'で囲むことで区別する。xのように宣言する(詳しくは第3章)。yのように新しく関数を作れる。IF文(式)関数型言語はプログラムを関数で記述していく。条件分岐は必要なのでHaskellにもif構文は存在するが、通常の手続き型言語と違ってif構文も関数なので、値を返す必要がある。そのためにif構文には必ずelse句がある。実際にはガード構文のほうがこのような例ではすっきりする。"dayo"みたいに値として扱うこともできる。;で区切ればGHCi中でも宣言するのに複数必要な関数なども宣言できる。ハスケルでは文字列もリストと同じ扱いになっていて、Charのリストであることに注意しておく。"cell"であること。]と[[]]は同じ型である。リストには同じ型の要素しか入れられない。リストの先頭から順に要素を取り出して比較する。要素がなくなったら終わり。head、init、last、tail(learnyouahaskell.comより)もちろん空のリストを渡したりするとエラーが出る。[1,2,3]とする。pythonじゃないしobject.lengthみたいな感じではない。一つ目の変数に数、2つ目にリストをとって数の分返してくれる。指定された数だけ要素を削除する。minが引数を二つ取る関数だったのに対し、こちらはリストを引数に取る関数。与えられた要素の無限リストを返す。Ranges入力を怠ける方法。"abcdefg"等で使える。それほど賢くないので等差数列が限界。小数も精度が悪いのでやめたほうがいい。}というふうに表記する。"majime"]いいクラスになった。_は名無し変数みたいなもので捨てられるためだけに使われている。Tuplesタプルはリストと違って違う型を入れることができることと、要素の数によって型が違うことがポイント。専用の型定義がどこかに有りそうだけどベクトルとかに使えば便利そう。2つ要素を持つタプルのそれぞれ1つ目、2つ目の要素を返す。リストを2つ取って、タプルの組にして返す。メモはてなブログをはじめよう!kuyataさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。