今日は何度も「なぜPythonの整数の割り算はC言語のようにゼロに向けて丸めるのではなく、切り捨てなのか?」と聞かれた。 数値が両方とも正の場合には、何も驚くようなことは発生しない。 >>> 5//2 2 しかし、どちらかの数値が負の場合、結果は切り捨てられる。言い換えると、ゼロから遠い方向(負の無限大方向)に向けて丸められる。 >>> -5//2 -3 >>> 5//-2 -3 この挙動は何人かの人を混乱させたようであるが、このような実装になっているのは数学的な根拠がある。整数の割り算の演算子(//)と、その弟の余りを計算する演算子(%)は、次のような数学的な関係を保っている。すべての変数は整数とする。 a/b = q あまり r これは、次のような関係性を持っている。 b * q + r = a かつ 0 <= r < b (ただし、a, bはともに0以上の整数) もしも、この式の関係
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
OCamlの 型推論 ---- OCamlとは ---- プログラミング 言語の ひとつ ---- 型推論 とは ---- 型を推論 すること ---- 例 ---- fun a b c → c(if a then b else "あ") + 5 ---- 型は書いて ないけど ---- fun a b c → c(if a then b else "あ") + 5 <font color="red">: bool→string→(string→int) →int</font> ---- コンパイラが 自動で 推論 ---- 直感的に 言うと ---- (if a then ...) ということは ---- a は bool に ---- 決定 ---- (... then b else "あ") ということは ---- b と "あ" は 同じ型 ---- つまり b は ---- st
入門書を3〜5冊くらい読む バイブル的書籍にざっと目を通す(大体「プログラミング言語○○」って名前) 辞書的なリファレンスマニュアルと首っ引きでなんか作る(.chmみたいのでさくさく引ける状況が理想だけどオンラインマニュアルでも可) 2, 3個作ってみて「なんか時間かかるなー」「なんか無駄がある気がするなー」と思う 「その言語を美しく効果的に適切に使うための本」を読んで何度も頷く 大枠ではこんな感じだと思うんだけどPHPなんですよPHP。「Effective PHP」とか「PHPベストプラクティス」とか「WRITING SOLID PHP」とか「エキスパートPHPプログラミング」とか「PHP Good Parts」とかそーゆーの無いのかな。PHPから入った人向けの「とりあえず目的を達成できればいい」から一歩抜けだすための本。でも目的達成できれば御の字だし一歩抜け出したら余計なこと考え出して
OAuth 調べてみたら難しくて理解出来なかったので, Python で標準ライブラリだけで 1 から書いてみました. / \ / _ノ ヽ、_ \ / o゚((●)) ((●))゚o \ twitter の OAuth 難しいお… | (__人__)' | \ `⌒´ / ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ だからやる夫でやるお! | |r┬-| | \ `ー'´ / Python のサンプルコードを付けていますが, 上から順に読めるようにおもいっきり手続き型で書いています. コメントで実際の処理の説明を書いています. Consumer Key と Consumer Secret の入手 / ̄ ̄\ / u \ .____ |:
「きみの会社はJavaからScalaへ移行したらしいね。」 「ああ。」 「やはり、移行するのは大変だったろう。」 「そうでもないよ。開発者がみんなハッピーになれたからね。」 「それはいいな。」 「だが、再びJavaで開発することになったよ。」 「そりゃまた、どうしてだい?」 「Scalaになって、コードの行数が激減したからさ。」 「お気の毒に。」 「きみの会社はJavaからRubyへ移行したらしいね。」 「ああ。」 「やはり、移行するのは大変だったろう。」 「そうでもないよ。開発者がみんなハッピーになれたからね。」 「それはいいな。」 「だが、再びJavaで開発することになったよ。」 「そりゃまた、どうしてだい?」 「Rubyになって、人月計算がおかしくなったからさ。」 「お気の毒に。」 「きみの会社はJavaからObjective-Cへ移行したらしいね。」 「ああ。」 「やはり、移行する
プログラミング言語の文法をまとめた最速基礎文法マスターが流行っていますが、それだけだと物足りないので少し視点を変えてJavaScriptという言語の基礎となっている概念について簡単にまとめてみようと思います。(基礎文法についてはこちらを参照してください) (20010/2/4 記述ミス Typoなどを修正しました) JavaScriptの基本概念 JavaScriptの基本となる概念は次の二つです。 連鎖指向 全てがオブジェクト 連鎖指向はプロトタイプチェーンやクロージャ、全てがオブジェクトであるという性質は連想配列やプリミティブ型などの性質に関わってきます。 連鎖指向 JavaScriptでは変数、オブジェクト、メソッドなどのリソースの利用において鎖のようにリソースを定義や宣言できるポイントが連なり、一番近くの宣言や定義に基づいてリソースの内容が決定される、という仕組みが採用されています
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く