タグ

ブックマーク / morchin.hatenadiary.org (10)

  • 2008-10-08

    以下の?????を埋めよ。但し文字数の指定はない。解答はいくつかあると思うが後日。 >>> d1 = {'a':1, 'b':2, 'c':3} >>> d2 = {'c':4, 'd':5, 'e':6} >>> print ????? {'a': 1, 'c': 4, 'b': 2, 'e': 6, 'd': 5} >>> d1 {'a': 1, 'c': 3, 'b': 2} >>> d2 {'c': 4, 'e': 6, 'd': 5} >>> d1.update(d2) >>> d1 {'a': 1, 'c': 4, 'b': 2, 'e': 6, 'd': 5} >>> d2 {'c': 4, 'e': 6, 'd': 5} ときどきの雑記帖 i戦士篇 Python遣いのためのScala入門 その1 (Scala for Pythonistas: Part 1) (http:/

    2008-10-08
    hchbaw
    hchbaw 2008/10/09
  • OCaml本 - プログラミング日記

    『プログラミングの基礎 (Computer Science Library 3)』 http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN978-4-7819-1160-1 OCamlでプログラミングの基礎を押さえるらしい。結構面白そう。

    OCaml本 - プログラミング日記
  • MixinによるDuck Typing - プログラミング日記

    d.y.d: イヌネコ (http://www.kmonos.net/wlog/88.html#_1337080801) リンク先の話題とは何も関係ないが、PythonでMixinを使用してDuck Typingを書いてみた。speakメソッド以外に共通のメソッドが増えれば、DRY原則から通常は継承することになるが、別に継承しなくても同じことがMixinで実現可能。 In [1]: s=''' ...: def speak(self): ...: print self.word ...: ''' In [2]: class Dog: ...: exec(s) ...: word = 'woof!' ...: In [3]: class Cat: ...: exec(s) ...: word = 'meow!' ...: In [4]: [p.speak() for p in [Dog(),

    MixinによるDuck Typing - プログラミング日記
  • 『Jythonプログラミング』読み終えた - プログラミング日記

    Javaでアプリを作成してPythonを組み込みたい時にJyConsoleは良いかもしれない。その時、このが参考になりそう。しかしどうせだったら、JVM上で動くScalaとかJythonとか区別なく全て使えるようにしたいが、JyConsoleではJythonだけなのでどうすれば良いのだろう? そろそろJavaで2D、3Dグラフィックの勉強を始めるかな。色々勉強したいことがあって、なかなか進まない。関数型言語の勉強も中途半端だし、『ビューティフルコード』も買おうと思ったが、かなりボリュームあるし。ガウディも最近全く読み進めていない…。

    『Jythonプログラミング』読み終えた - プログラミング日記
  • 『Jythonプログラミング』の気になった所 - プログラミング日記

    Chapter5まで読んだ。このJavaPythonの比較だと感じた。私は言語の比較が大好きなので面白い。 Chapter5の「この章の目的」という項からの引用。 世の中の「オブジェクト指向」という言葉の使われ方を見ていると、おおざっぱに言って2つの「思想」がるように思えます。1つは「関連する変数や関数がコードのあちこちに散らばるのはよくない。ひとかたまりのモノとして扱えるべき。」という思想です。もう1つは「整数や関数などのいろいろなモノが、モノによって扱い方が違うのはよくない。統一的な方法で扱えるべき。」という思想です。 なるほど。ある掲示板では、オブジェクト指向のメリットは、マルチプルインスタンスと抽象化の2つであるという結論が出ていた記憶があるので、大体同じ結論になっていたのは面白い。抽象化の具体例をまとめてみるのは面白いと思うが、色々あると思うので難しいかも。 「タプルはな

    『Jythonプログラミング』の気になった所 - プログラミング日記
  • 2008-04-27

    最近、HaskellとGaucheで関数型言語を勉強している。もう少し理解が進んできたら関数型言語の概念を一般化してまとめてみたいと思っているが、式と文に関して気がついたことを書いておく。書籍『プログラミングGauche』に載っているコラム「すべて式である」を参考にした。 まず、すべてを式にするためには以下のものを式として扱えるようにする必要がある。 ブロック if、forなどの制御構造 代入 例外処理など Gaucheではシンボルやリテラルをアトムと言い、もちろん式として扱える。複数の式を集めたものをリストと言い、ブロックの代わりとなる。 ifは式であるし、forやwhileなどのループは再帰として書ける。Schemeでは代入を行う手続きが使えるようになっているらしいが、2008/3/15の日記に書いたように、もちろん代入ができなくても状態を遷移すれば状態を管理できる。 Pythonと比

    2008-04-27
    hchbaw
    hchbaw 2008/05/13
  • 2008-03-07

    k.inabaさんの伝言板経由で知ったのでメモ。 http://iiyu.asablo.jp/blog/2007/11/14/1908371 http://iiyu.asablo.jp/blog/2008/03/03/2686540 この間違いはひどいなあ。歴史に残る偉大なの価値を下げているなあ。気をつけて読まないと間違えて覚えるところだった。 Clean入門: lethevertの純粋関数型言語Concurrent Clean覚え書き (http://www.geocities.jp/lethevert/clean/gettingStarted01.html) Clean言語の勉強をしているが、「Clean入門(12):多相性・型クラス」あたりで急に難しくなった。やはり型に関する部分は難しい。家にOCamlのがあるので、そっちもまた読もうかな。Haskellは勉強になるみたいだが、難

    2008-03-07
    hchbaw
    hchbaw 2008/03/25
  • Peter Norvigの記事 - プログラミング日記

    メモ。明日読む。 プログラミングを独習するには10年かかる (http://www.yamdas.org/column/technique/21-daysj.html) 追記(2008/3/3): 良いところを抜粋。 Alan Perlis はかつて、「プログラミングに対する考え方に影響を与えないような言語は知る価値はない」と言った。 他のプログラマーと話をし、他人のプログラムを読むこと。これはいかなる書籍やトレーニングコースよりも重要なことだ。 こういうチャンスは積極性が要求される気がする。私自身、周りに真の言語オタクがいないのでチャンスが少ない。 「特定領域において個人が最大限のパフォーマンスを発揮するのは、長期にわたる経験があれば自動的に実現されるというものではなく、非常に経験を積んだ人であっても、向上しようという真剣な努力があればこそ、パフォーマンスは増し得る」ものであり、「最も効

    Peter Norvigの記事 - プログラミング日記
    hchbaw
    hchbaw 2008/03/25
  • 2008-01-08 - プログラミング日記 ] エンコーディング指定

    odz buffer: Pythonのエンコーディング (http://d.hatena.ne.jp/odz/20080106/1199638622) 入出力周りのエンコーディングの設定の方法が書かれていた。この例で、エンコーディングを取得する前半と入出力のエンコーディングを設定する後半に分けて考える。 import sys, locale, codecs enc = locale.getpreferredencoding() sys.stdout = codecs.getwriter(enc)(sys.stdout) sys.stdin = codecs.getreader(enc)(sys.stdin) 『Pythonチュートリアル』には以下のコードが載っていた。 import codecs, sys sys.stdout = codecs.lookup('utf-8')[-1](sy

    2008-01-08 - プログラミング日記 ] エンコーディング指定
  • 2007-12-30

    モジュールを少し勉強した。 module Trig PI = 3.141592654 def Trig.sin(x) # .. end end requre 'trig' y = Trig.sin(Trig::PI/4) reqireで文字列で渡すのはまあ良いとして、定数アクセスの"::"と、メソッドアクセスの"."を区別しているのは気に入らない。reqireした際に変数は取り込まれないのも覚えるのが大変そう。メソッド定義で"Trig."を付けるのが面倒など色々不満が出た。もう少し使い込んでみないとそうすべき理由が見えない。 minxinの説明で、include Enumerableして、eachメソッドを定義すれば、map、include?、find_all?、injectなどが普通に使えるようになるのは良さそうに感じた。 あと、Rubyはビルトインクラスの挙動をプログラム全体で変更でき

    2007-12-30
    hchbaw
    hchbaw 2007/12/31
  • 1