OCamlをつつく7−剰余演算。やっぱりあったのね。2008-07-26 Sat 12:40
四則演算とくれば、やっぱり剰余演算も気になるピヨ。そこで調べてみたピヨ。公式マニュアルが調べにくいので、ちょっとだけ苦労したよ。このマニュアル、何で基本を分かりやすく書いていないのかなぁ。
でも皆は心配する必要が無いピヨ。この記事を見て基礎を学習しよう。
日本語のコメントが使えないから不便ピヨ。それはさておき、皆分かったかな?念のために書いておくと、modは剰余算で割り算の余りを求める演算ピヨ。 皆これでバッチリだよね?うん。それじゃあ終わり。 |
この記事のコメント何度もコメントしてごめんなさい。m(_ _)m マニュアルはやっぱりマニュアルで、関数型言語の基本を知っている人向けに必要最低限のことしか書いていないので、関数型言語初心者の方は本を買うか、せめてWeb上のまとまった記事を最初からきちんと読まれると良いのではないかと思います(検索すればわりとすぐにいくつかヒットします)。たとえばプログラミング初心者がC言語を勉強するとき、ANSI/ISO Cの規格書だけじゃ普通は無理ですよね?(^^; 最近では日本語のOCamlの本も何冊か出ていて頼もしいです。立て続けにお邪魔しました&頑張ってください!^^
2009-02-02 Mon 05:45 | URL | OCamlファン #-[ 内容変更]
どうもありがとう♪
でも、ちょっと誤解しているよ。 この連載は【初心者用】なので調べる過程を書いているんだ。 だから知っていて疑問点や間違った点を書いているんだ。 初めから正しい事だけを永遠と書いても初心者はとっつき難いし、書く必要が無いからね♪
2009-02-02 Mon 07:39 | URL | インドリ #-[ 内容変更]
はじめまして。ちょっと長文かつ辛辣になりますが、苦言を呈させていただきます。人は誰しも間違うことはありますし、それ自体は仕方無いことかと思いますが、そういう点を指摘されたときに、
> だから知っていて疑問点や間違った点を書いているんだ。 これはさすがに無いんじゃありませんか? 一連のエントリが、調べる過程でのメモ書きならそのように書くべきで、さも理解した人が教えるような書き方はいかがなものかと思いますよ。あと、いくつかプログラミング言語関係のエントリを読ませていただきましたが、関数型言語に関するエントリ、特にOCamlに関するエントリはひどいです。OCamlのコンストラクタに関するエントリの追記を例にとると > あと、関数型言語では全てのものがシンボルであり、値そのものだからなんだ。 明らかに間違いです。一番それに近いと思われるLisp族の言語ですら、全てのものがシンボルであり、値であるなんてことはありません。 > 命令型言語では分類しているから関数とオブジェクトは別のものなんだけど、LISPとかの関数型言語で引数に関数をとる関数が普通に使えるのはそういった考え方の違いからなんだ。 これは全く意味不明です。命令型言語でも関数=オブジェクトな言語は普通にあります。関数型言語で引数に関数をとる関数が使えるのは、関数が単に「第一級の」値であるからです。 > だけど、OCamlはオブジェクト指向言語だからコンストラクタは型のようなもので、値(インスタンス)は別に存在するピヨ。 オブジェクト指向言語は全く関係ありません。そもそも、variantはOCaml以外でも、Haskell、MLなどの静的型付け関数型言語一般に存在する機能ですから。 といった具合です。また、他のOCaml関連エントリでもifに関して初歩的な理解の間違いがあったりと、全体的にちょっとこれは、といいたくなります。OCamlやLisp関連のエントリを見るに、インドリさんご自身が関数型言語に関しては初心者なのではありませんか?そのような状態で、わかったふりをした文章を書くのは百害あって一利無しだと思います。 あのね、みずしまさん。
初心者用という事は、関数型言語を知っている人用に書かないことを意味しているんだよ。 だから、なるべく関数型の概念を使用せずに説明しているんだ。 あと、これは連続記事だから前に書いていない事をかけないんだ。 だから文字列とかでも配列を使っていないんだよ。 それに仮にボクが初心者とすると、初心者が書いている事に一々その様なことを言うのかな? そういう態度は止めておいたほうがいいと思いますよ。 解説スタイルは個人により違うんだからその点を踏まえていって欲しいな♪
2009-02-04 Wed 09:48 | URL | インドリ #-[ 内容変更]
> 初心者用という事は、関数型言語を知っている人用に書かないことを意味しているんだよ。
> だから、なるべく関数型の概念を使用せずに説明しているんだ。 私が指摘した箇所は、単純にそのようなこととは無関係に間違っている箇所なので、反論になっていませんよ。 > あと、これは連続記事だから前に書いていない事をかけないんだ。 だから文字列とかでも配列を使っていないんだよ。 これも指摘した箇所には関係ないですね。 > それに仮にボクが初心者とすると、初心者が書いている事に一々その様なことを言うのかな? 初心者に限らないですが、間違いを犯すことは自分も含め、よくあることですし、そのことをいちいち責め立てようとは思いません(初心者だろうが何だろうが、明らかな誤りを見つけたら指摘はしますが)。ただ、初心者(関数型言語の、という意味ですよ。インドリさんがプログラミング初心者だ、などとは思っていません)じゃないふりをして間違いが多い解説記事を書いておいて、間違いを指摘されたら、解説の都合上だ、みたいな逃げを打つのは問題があると考えています。正直、自分のようなOCamlなどの関数型言語にはそれほど明るく無い自分でも、インドリさんの関数型言語に関する理解の程度は怪しいと言わざるを得ません。 みずしまさんへ
残念ながら解説スタイルの違いを考慮して欲しいという意味がわかってもらえなかったようだね。 ボクが言っているのは間違いやすい点を解説する事であって、それを正しい事として解説するつもりは無いよ。 この記事は連載だから、少しずつ関数型言語の世界へ旅たつ事を目的としているんだ。 もし関数型言語を知っている人に対して記事を書くならば、関数型世界の用語で解説するだろうけど、関数型言語について知らない事を前提として書いている記事にはそんな関数型っぽい記事はかけないよ。 でもそんな事をすれば、英語を勉強するサイトが英語で書かれているようなものだよ。 みずしまさんの指摘の細かい部分に反論しなかったのは、論点がずれていると思ったからなんだ。 それに関数型言語のコンパイラを作ったとあれば察しがつく部分(たまには高度な内容も蒔いておかないとね)を分かってくれなくて指摘しているし・・・ みずしまさんがボクよりもOCamlについて詳しくても僕は一向に構わない。 ボクは自分が完璧超人だとは思っていないから「常に上には上が居て、そんなハッカーから比べたら僕は素人同然だ。」と考えているからね。 僕が言っているのは、関数型言語に慣れている人の視点で記事を書けといっているように聞こえた事についてなんだ。 関数型言語の正確な定義から外れても、なるべく分かりやすく抽象化して徐々に正確にしたほうがよいとボクは思う。 ※他のスタイルについては他のサイトに任せます 正確さを求めるのならば、OCamlコンパイラのコードと仕様書を読めばいい話しだから僕はそうしたくないんだ。 「コードを仕様書を見ろ!」といえば一発だけど、そんなことしたら多くの人とOCamlを楽しめないよね? 僕の趣旨は細部は先ず無視して、OCamlを楽しみつつ学んでいって、OCamlを好きになってから細部を探ろうという事なんだ。
2009-02-04 Wed 15:26 | URL | インドリ #-[ 内容変更]
何だか私のせい?でややこしい話になってすみません。(><) インドリさんのような関数型言語初心者の方が、同じような初心者向けに楽しい記事を書いていただけることは、私もとってもうれしいです!^_^
でも、「どこからどう見ても初心者です。本当に(ry」という状態なのに、初心者でないふりをして明らかに間違ったことを断定的に書いたり、あまつさえ「わざと間違えたことにする」という今のスタイルでは、勘違いの拡大再生産をするだけで、せっかくの楽しい記事の台無しです。;_; 誰でもはじめは初心者なんですから(私なんか一生初心者かも…?)、別に無理をしてわかったふりをしなくても、自信がないところはよくわからないって言えば良いと思います! 「初心者向けだから間違った説明でも良い」とか、「不正確なほうがわかりやすい」とかいうのは正反対で、初心者向けだからこそ正確で誤解を招かない説明をしなければならないし、そのほうがずっとわかりやすいと思います。 文句ばっかり言ってすみません。(><) 私も自分でOCamlや関数型言語の楽しさが伝えられるように頑張ります!
2009-02-05 Thu 21:17 | URL | OCamlファン #-[ 内容変更]
> 何だか私のせい?でややこしい話になってすみません。(><) インドリさんのような関数型言語初心者の方が、同じような初心者向けに楽しい記事を書いていただけることは、私もとってもうれしいです!^_^
> > でも、「どこからどう見ても初心者です。本当に(ry」という状態なのに、初心者でないふりをして明らかに間違ったことを断定的に書いたり、あまつさえ「わざと間違えたことにする」という今のスタイルでは、勘違いの拡大再生産をするだけで、せっかくの楽しい記事の台無しです。;_; 誰でもはじめは初心者なんですから(私なんか一生初心者かも…?)、別に無理をしてわかったふりをしなくても、自信がないところはよくわからないって言えば良いと思います! 「初心者向けだから間違った説明でも良い」とか、「不正確なほうがわかりやすい」とかいうのは正反対で、初心者向けだからこそ正確で誤解を招かない説明をしなければならないし、そのほうがずっとわかりやすいと思います。 > > 文句ばっかり言ってすみません。(><) 私も自分でOCamlや関数型言語の楽しさが伝えられるように頑張ります! いやだからそのスタイルで書いていると何度言えば分かるのでしょうか(溜息) そう思っていただいても私は結構ですが、兎に角このスタイルで書き続けます。
2009-02-06 Fri 10:10 | URL | インドリ #-[ 内容変更]
|
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|