2013-09-01から1ヶ月間の記事一覧
この本を読んでいます。 プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (124件) を見る以…
綺麗なコードを書く勉強をしたので まえのだめなコードをリファクタリングするぞ。解法的には間違っている事実は変わらないので、そこは気をつけてください(?)。 リファクタリングした点 履歴は文字列で持つけど、内部的には数値配列に変換してから処理を…
ここの問題を解く。 Ruby 正規表現入門ドリルEngineer Flies - エンジニアは空を飛ぶ 2. lsの結果から カレントディレクトリ ".", 直上のディレクトリ "..", 隠し属性ファイル/ディレクトリ ".filename" を取り除く 3. HTMLファイルからtitleを抜き出す。 詳…
文字コードの問題ってなんでこんなに苦しいんだ・・・・ 解決策 環境変数に以下を追加 RUBYOPT=-EUTF-8 おかしいな、と思ったら 文字コード確認方法 # 外部エンコーディング p Encoding.default_external p $stdout.external_encoding # 内部エンコーディン…
「はてなブックマーク」っていう概念が分からない はてなのことが全然分かってない。 この本を読んでいます。 プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/2…
この本を読んでいます。 プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (124件) を見る 1…
とうとう、読み始めました。 プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (124件) を見…
「有限オートマトン」についてググっていたときに面白そうな問題を見つけたよ。 有限オートマトンとは関係ない話だけれど、勉強になりそうなのでチャレンジ。 (注) メモリに配慮した実装方法はこちら。 (10月9日追記) 問題 状態、'0'および、'A'~'I'に…
字句解析・構文解析くらい知ろうねと言う師匠に、数式解析できたよーってメールしたら、返事が来たよ。 数式解析は最初の題材にはちょうど良かったね。 字句解析は有限オートマトンでやって 構文解析はプッシュダウン・オートマトンってのでやることが多いで…
Rubyにて、補数がよく分からなかったので整理。 printf "%b" , -0b110 #<= '..1010' どうしてこの結果になるかというと、 110の2の補数は1010 だから。 110 のビットを反転して001→ 1をたして010→ 左側に無限の1を加えて..1010 そっか。 0b110 は0b110の2の…
スタックの勉強をしたときから気になっている、 XMLパーサーの実装(Hamlとか)にチャレンジしてみようと。 まずは高らかに宣戦布告(師匠に)。 今日はパーサーを作ります!!! あら、、、 パーサーの作り方はどっかで調べたの?う。。。 調べてもあんまり…
ハノイの塔 こんなにシンプルに書けるのね! def hanoi(n, start, goal, tmp) return if n == 0 hanoi(n-1, start, tmp, goal) p "move #{n} to #{goal}" hanoi(n-1, tmp, goal, start) end hanoi(3, "A", "B", "C")ビット演算の練習を兼ねて、グレイコード…
掛け算・べき乗をビット演算で行っているサイトがあったので勉強。 掛け算を一回もしない掛け算 def shift_multi(x, y) m = 0 while x != 1 if x.even? y = (y << 1) # * 2 x = (x >> 1) # / 2 else m += y x -= 1 end end y += m end p shift_multi(15,3) …
このサイトを参考に、 ビット演算の奥深さを勉強中。 レジスタ中の 1 になっているビット数を数えるアルゴリズム 最下位の1を倒していく def numofbits3 bits num = 0 while bits != 0 do num += 1 if (bits & (bits-1)) bits = bits & (bits-1) end num end…
このサイトを参考に、 ビット演算の奥深さを勉強中。 レジスタ中の 1 になっているビット数を数えるアルゴリズム 今回はビットカウントテーブルを使う方法です。 Rubyでのビット符号って? Rubyの最上位ビット(MSB)はどこ? 右シフトは、符号ビット(最上位ビ…
川渡りが解けたよーって師匠にメールしたら おれも解いてみました 1時間くらいかな、ちょっと時間かかったってメールが来た。むきー! このサンプルを参考にブラッシュアップ。以前のコードはこちら 改善ポイント 状態遷移図をビット化する @_members = ["da…
重複を含む順列 重複を含む要素のすべての順列を求める(例) "3331"→1333,3133,3313,3331 "aab"→aab,aba,baa たとえば "aabb" だったら4!/(2!*2!) で6通り。 コードで書くとこういう感じ。 使った要素はフラグを立てて、使っていない要素を配列につめていく…
ビット演算・・ってアルゴリズムを考える上で便利かも。 と思って勉強してみる。このサイトが、 どういうときにビット演算を使うと便利なのか、 が分かりやすく書いてあって面白かったです。 記念すべき1問目 レジスタ中の 1 になっているビット数を数えるアル…
パーフェクトJavaを読みおわったよ。 パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)作者: アリエル・ネットワーク株式会社,井上誠一郎,永井雅人,松山智大出版社/メーカー: 技術評論社発売日: 2009/09/24メディア: 大型本購入: 26人 クリック: 360回…
パーフェクトJavaを読んで改めてJavaを振り返り中。 経緯については学習記録その1をご参照ください。以下、学んだこと。 リフレクションは単なるAPI 例えばアノテーションは言語仕様だけれど リフレクションは「仕様」という範疇ではない。 Java言語仕様に…
お友達が個展を開くので、 そのサイトを作ったよ。完成したサイトはこちら岡山県で遠いけれど、近くの方は是非! 私もこの勉強期間が終わっていたら。。いきたい。 石井さんの要件 そんなに凝らなくてもいい 字体は明朝ざっくり!以下、作業中に学んだことな…
今日の二丁目はちび専ガッちびナイトかー。orz 川渡り問題とは 男と3つの荷物--キツネ(狐),ガチョウ(鵞鳥),トウモロコシ(玉蜀黍)1袋--のうちの1つしか運べません。キツネとガチョウまたはガチョウとトウモロコシをいっしょにしておくことはできませ…
パーフェクトJavaを読んで改めてJavaを振り返り中。 え?我が家の育児ですか? 基本セルフサービスかな。この母親自体も言語獲得に必死なので、 子供というよりもはや同志の感があります。。 経緯については学習記録その1をご参照ください。以下、学んだこ…
パーフェクトJavaを読んで改めてJavaを振り返り中。 経緯については学習記録その1をご参照ください。以下、学んだこと。 オンデマンドインポートはなぜ良くないか オンデマンドインポートって、 アスタリスクでフォルダ内全てのクラスをインポートするあれ…
apparent type で決まるメソッドボディて なんやろうかと、疑問に思った次第っすという師匠の疑問に答えるべく、 メソッドの話ではなくて、フィールド参照時は 変数の宣言クラスによって型が解決されているという話ですね、と記事を書いたらお返事が来た。こ…
パーフェクトJavaを読んで改めてJavaを振り返り中。 経緯については学習記録その1をご参照ください。以下、学んだこと。 Hoge.thisってなんだ? synchronizedの章で出てきた一節。thisって、レシーバーだな、 くらいの認識しかなかったので改めて確認してみ…
隠蔽とオーバーロードの違いについて書いたら、師匠からメールがきたよ。 つっこみやなくて、質問なんですが 呼ばれるメソッドの実体は、 隠蔽時:変数の型で決まる オーバーライド時:オブジェクトの型で決まる この隠蔽時ってなんですか? ちなみに、変数…
パーフェクトJavaを読んで改めてJavaを振り返り中。眠い。経緯については学習記録その1をご参照ください。以下、学んだこと。 文・式とは 文とは(特徴) 単独で完結する言語要素 文の種類 制御文 ブロック文 宣言文 式文(空文を含む) このうち終端にセミ…
パーフェクトJavaを読んで改めてJavaを振り返り中。パーフェクトPHP ⇒0.5キロ減 パーフェクトRuby ⇒2キロ減 今度は何キロ痩せるかな。子供を産んでも体重が変わらなかった私からすると、 「体重が落ちる」なんて、かつてない経験。。 経緯については学習記録…
昨日書いた記事の中でも オブジェクトと変数の違い、 クラスはオブジェクトじゃない、 について師匠からつっこみがあったので、修正したよ。ていうか最初のメールが Javaの再勉強ですか 今度は吐かないようにね。 ちなみにツッコミとかあったら、また吐いち…