カテゴリー
Haskell コンピューター (Computer) プログラミング (Programming)

Haskellに惑わされ – 8

それでは自己設問の3に移ります ここはMac日本語キーボードに限定します さて “\” という斜め棒はどうすれば打ち込めることができるでしょうか?
これって悩みますよね
実は Macの場合 Option Keyを押しながら ¥キーを打つと この斜め棒になります

やってみてくださいね

カテゴリー
Haskell ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

Haskellに惑わされ – 7

これで先の自己質問1に対する回答となりましたね、シングルクォーテーション `はプログラム上何の意味も無いものであり、従って名前の一部にもならないのですね

だから Haskellでも add’という名前は許されても、add`という名前は許されません もちろん、ここで addと add’とは別物とみなされますので、この性質は もともとある名前と似た作用を有する名前を命名する時に便利です

たとえば、Haskellの Prelude frameworkにはもともと addという関数が定義されているので、自分で新たに add = 加える という意味を有する関数を作成したとしても、addという名前を使用できません

こんな時に add’とすれば別物とみなされ自分で新たに定義した関数をadd’という名前で使えるのですね

こんなことを理解するにも数日間頭を悩まされました バカみたいなことだけど、きっと世の中には僕と同じような悩みを抱えて Haskell programmingから挫折した人は何人もいるのだろうと思います

まあこれで

Haskellに惑わされ – 5

の自己設問1と2は解決ですね

カテゴリー
Haskell PHP SQL ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

Haskellに惑わされ – 6

例えばこうです 僕が良く Web programmingする時に使用する PHP言語ですが、database言語であるSQL (僕が使用しているのは open sourceの MySQL言語です)と連携してSQLサーバーよりデータを取得し、それをサーバー内で PHP言語により加工し、その結果を http通信でクライアント側 つまり、一般ユーザーに送っているのですが、その部分の肝腎の SQL serverからの PHPでのデータ取得部分の一例はこんなものです

$row_session = $stmt_session->fetch( PDO::FETCH_ASSOC );
$stmt_role = $pdo->prepare( "SELECT MAX(`created`) FROM `role_tbls`;" );
$stmt_role->execute();

ここで出てきましたよね この部分です

"SELECT MAX(`created`) FROM `role_tbls`;"

この部分を良く見ると、

`created` や`role_tbls`

のように何だかさっきのもの (`)ではさまれていますね これは実は SQL構文規則では不要なものです しかしながら、この列が SQLの列名であることを分かりやすくするためにわざわざ用いているのです

つまり、 (`)というものはプログラム解析上では何の意味も持たない飾りだということです

従ってこの部分に(‘)というものを使用すると途端に文法エラーとなりプログラムは走りません これと同様のことが Haskellでも起こるのです