2008-03-01から1ヶ月間の記事一覧

引数の値渡しと名前渡し

値渡しと名前渡しとは? 関数の引数渡しの方式で、 実引数を評価した結果を仮引数に渡すのが値渡し(普通に渡すのと同じ) 実引数を評価せず、値が必要になるまで評価を待つのが名前渡し という。 宣言のしかた 値渡し 仮引数名: 型名 名前渡し 仮引数名: =>…

scalacをするのとしないのと

http://d.hatena.ne.jp/daisun/20080322/1206163454 の最後に書いた、コンパイルしなくても動くとか動かないとかの謎。 いまだ理解できていないし答えも出ていないけど とりあえず考えたことをまとめておく。 Javaは? まず、scalaもJVM上で動作するのでJava…

どうやらobjectがclassってのは間違いのようだ

何日か前にscalaではJavaでいうclassはobjectって書くと書いたけど、それは間違っていたようだ。 classはやっぱりclassみたい。 scalaではclassはコンストラクタもかねてclass クラス名(){}でかけるようだ。 では、objectっていうのはなにか? objectはmodul…

小学生のうそが本当になる機能

初めてscalaをみて衝撃をうけたのが、 Traitって機能のwithを使ったMixin。 なんとインスタンスに対してクラス継承するようなことができる。 class Piyo(){ } trait Hoge(){ } var piyohoge = new Piyo with Hoge みたいに。つまり、 「俺、昨日、魔法使いが…

ソースを読み解く

サンプルにでていた def sum(f: Int => Int): (Int, Int) => Int = { def sumF(a: Int, b: Int): Int = if(a > b) 0 else f(a) + sumF(a + 1, b) sumF }これを読み解く。まず、 def sum(f: Int => Int): (Int, Int) => Intsumって名前の関数を宣言している。…

なんとなく似てる

Scalaの概念というか考え方というか、どことなくPythonに似てるなと 双方のfor文を眺めていたら、思った。

It's OKを久しぶりに聴く。

帰り道、久しぶりにPearl Jamのライブ版の『Daughte』rから『It's OK』につながっていく お気に入りの曲を聴いた。 あそこまで"It's OK"って連呼されると、最近の自分のもやもやも前向きに考えられそうな 気がした。1つ言える事は、『It's OK』はPearl Jam…

最近言及したキーワード

みたら、えらいはずかしいのがでかい文字になってる。 気をつけよ。

パフォーマンスについていろいろ知りたくなった

SQL

結合条件にtrimとか関数付けるとインデックスが効かなくて、全件検索に行くらしい。 へー。 そもそもなんで結合条件になるキー項目にtrimとかつけなきゃいかんじゃ! ぷへへーーー とか思っていたけど、どうやら余計なブランクが入る可能性があるかららしい…

ついでにOz/Mozartもインストール。でもトラブル続き。

ついでといってはなんだけど、 『コンピュータプログラミングの概念、技法、モデル』を買ったので Oz/Mozartの実行環境も整える。 1つめのトラブル とりあえず、パッケージをダウンロードしてきてインストール。 ここでまず1つ目のトラブル。 どこに入った…

開発環境を作ってみる。

プログラミングGaucheを買ったので、Gaucheの実行環境を整える。 Windowsだといまいちそうなので、Mac(G4)に開発環境を作る。 IntelMacではないけど、元々Ruby、Python、Javaなんかがデフォルトで 入っていたりするので、いずれは開発環境を整えたいなと思…

超入門=>まだ入門もできていない

とりあえずインストール windows http://www.scala-lang.org/からダウンロード ダウンロードしたファイルを解凍 binにpath通す mac macportsがあれば、 sudo port install scala でかってにやってくれる。 すげー楽。 わかったこと 変数と定数 変数はvar、定…

thisについて考えてみる

thisを意外と何の気なしにつかってるからいろいろ実験。 var hoge = "Global hoge"; function Hoge(){ this.hoge = "hoge"; } Hoge.prototype.func = function(){alert(this.hoge);}; var a = new Hoge(); a.func(); 実行結果は『hoge』とダイアログがでる。…

もやもやがすっきりする鍵

1000speakersで話する事を躊躇を消す5つのヒント↑を読んだ。 ここ最近の自分の中のあせりやもどかしさ、 どうしていいかわからなくって空回りして、 どうにもできなくてイライラして、 もやもや〜ってなってた気分にパッと光が入ったような衝撃だった。空回…

最後のカンマを消す

意外と?ありがちな処理だと思うけど、 ある文字を特定回数カンマ区切りでつないでいって最後のカンマだけ 付けないって処理。 PreparedStatement使ってクエリ実行するときに in()にパラメータの?の数が動的に変わるなんてシーンっていうとわかりやすいだろ…

いまさらXPathを使ってみた

いまさらながらですが、JavaScriptでXPathを使ってみた。 IE対応はしていないけど、手順としては document.createExpression()でxpath式を設定してXPathExpressionオブジェクトを取得 取得したXPathExpression.evaluate()を使ってXPathの評価結果のXPathResu…

未来を見つめる者達と過去にすがる者達

IT

まずは2種類に分けてみる。 「IT業界」「技術者」「Web開発」あたりでフィルタリングをかけると 大きく分けて2種類の職種が引っかかってくると思う。 1つは、はてなやmixiなんかのインターネットサービスを作っている ような会社の技術者さんと、アウトソー…