2005-01-01から1年間の記事一覧

D

http://www.kmonos.net/wlog/52.php#_0212050903 この記事をみて面白そうなのでD言語で書いてみた。 memoの部分も綺麗に書きたかったが方法が思いつかなかったので断念。 でもfixの部分を綺麗に書けたから満足としておくか。 template fix(alias f){alias f …

末尾再帰

D

int main(char[][]args){return main(args);}このプログラムを実行すると当然スタックオーバーフローになる。 ......と思ってたのだが、実行するとなぜか、そうならない。*1どうやら、dmd は末尾再帰の最適化を実装しているようだいままでD言語でプログラム…

切り上げ誤差

[はてな]総選挙はてなの問題 総選挙はてなは、はてなアイデアのシステムを流用したせいで多くの問題が出ている。 今回は自分に関係ある問題を取り上げる。株価の切り上げに起因する問題だ。 株価の切り上げとは、売り買いの価格が小数点以下の場合、それを切…

ようやく試験がすべて終わり、気が楽になりました。 まぁ落とした単位もいくつかある気もしますが気にしないでおきましょう。 落としたと言っても来年の進級には欠片ほども問題ない(と信じたい)ですし。 痛いのは寝過ごして(Σ(゜Д゜;エーッ!)受けれなかった…

やばい。試験が死にそう。 少しは勉強すればよかったかも。 まぁ自業自得ですけどね。一応、遅い気もするけど今から明日の予習をしよっと。

D

D言語v0.128 おー新バージョンだ。 んーと、std.stream.Stream.scanfの代わりにstd.stream.Stream.readfを使うようになったのか。 ......それでも引数の手前に&を付けてポインタにしないと駄目なのはscanfと同じか。それが少しめんどくさいな。 まー文字列を…

v0.126

D

あーiftypeが即座に非推奨になってますねぇ。 というか全体的に変更を多いなぁ。 今回のバージョンで印象に残ってるのは とりあえず、!is演算子の追加ですね。それにともなって===と!==が非推奨にもなったみたいです。 個人的には、a!==bと書くべきかそれと…

D

D言語の新たに追加されたiftype文ですけど、これは暗黙的な変換を許容します。 たとえば template eq(A,B){ iftype(A:B){pragma(msg,"0");} else{pragma(msg,"1");} }というコードを実行すると0が表示されます。 暗黙的変換を許容するって便利なことも多いけ…

D

さてと前回書いたtemplateだけじゃ何の役に立つか全然分かりません。 なのでどういう時に使うか書いておきます。 まず一番の利点は、pragma(msg)に出力できることです 残念ながらpragma(msg)は文字列しか出力できません。 なので前回のtoStringによって文字…

D

さてと、D言語でメタプログラムの練習がてらに、こんなん書いてみました template toString(ulong N){ static if(N>=10)const char[]toString = .toString!(N/10) ~ .toString!(N%10); //else const char[]toString=['0'+N]; //なぜかエラーtemplate toStrin…

v.0.124

D

うわー。 iftypeとstatic ifってなにそれw コンパイルタイムプログラミング万歳 あとはboxingも追加か。 こっちは暗黙的ではなくて自分でboxingするのがメンドクサー 気持ち的にはboost::anyみたいな感じですね 今回のバージョンは面白そうですね 追記 えー…

[その他] 学校のプログラミング演習が退屈なので宿題スレで暇つぶし http://pc8.2ch.net/test/read.cgi/tech/1115794784/427 この問題で久しぶりにビット演算を使いまくった。 やはりビット演算は楽しいなぁ 追記: 書籍「ハッカーの楽しみ」 で完全に同じソ…

v1.23

D

いつの間にかバージョンアップしてた コンパイラが落ちないって素敵ですね

v0.122

D

最近std.streamへの変更が多いなあ。 まぁ問題が出るようなところはないんで問題なし。 あとはstdinに日本語入力してもエラーが出なくなると良いんだけどなぁ。 現状だとMBSとしても受け取ることが出来ないから追記 Stream stdin = new BufferedStream(std.s…

疑問

D

プログラム書いてて思ったこと OutBufferとMemoryStreamって役割被り過ぎ。 どう考えてもOutBufferは不要な気がする。 というかphobosって結構ライブラリが重複しているところがあるなぁ。

いくらcin,coutの使い方の説明とはいえ、演算子を出力演算子 >>演算子を挿入演算子と呼ぶのやめてくれ シフト演算子の意味を誤解した学生が大量に出そうな予感 だからiostreamの演算子オーバーロードは糞と呼ばれるんだよなぁ

最近メインPCの調子が非常に悪い。 突如リブートしたり青画面が出たりするし。 原因は不明ですがメモリを非常に頻繁に読み書きすると青画面。 CPUを100%近く使いつづけるとリブート たぶん、ハードが腐っているのだろうなぁ。 しかし、メイン機を買い換える…

さて、セキュリティの管理が問われる時代になってきました。 ま、それとは関係無しに学校の行き帰りの 京橋-忍ヶ丘 区間でふと学校のPCの無線LANを見てみると......なんか自分のPCをみてたら結構繋がっているね 無線LANをたぶん初期設定から変えずに地域の皆…

このコードは無いと思う #include using namespace std; int main(){ cout Hello World" return 0; }using namespace書くならにしようよ さすがに放置して他の学生が勘違いしてはいけないので指摘しておいた。 このコードが発生した原因はどうやら前回の講義…

今日はPCで遊ぶだけの一日 いや、すこしは遊び以外もしていたが、総合的に判断すると遊んでいると言わざるを得ないだろう。 一応、大学の離散数学の教科書でも斜め読みして少しは勉強してる気分になろっと。

D

v0.121 特に自分の使用上の変化無しっと。

うちの学校のゲーム学科ではPCにマックを使っています。 その理由はいくつか諸説ありますが、もっとも高い可能性はこれだろう。 http://www.apple.com/jp/usergroups/augm/osaka200308/index5.html .......ちゅうか絶対この人が原因 ああ、メディアコンピュ…

んー、一年の情報の授業は初心者向けの授業だから真面目に聞かなくても問題なさそう。 あと、寝屋川キャンバスのほうに所用で行った。 ......やっぱ寝屋川キャンバスは駅から近いのが良いなぁ。 それにくらべて四条畷のほうはちょい遠い。

今日の授業 履修登録、スポーツ演習1が人数調整で取れなかった。ショック というわけで火曜日3時間目だけ暇が出来た。 あと今日は雨が降っていて鬱陶しかった。

えーと情報系の学部に行ったのだから情報系の授業の感想書きます。 プログラミング演習1なんですが、初めてプログラミングする人のためにHello Worldからするのは仕方がないですが...... 以下、最初に書かされたプログラム(C++) #include<iostream.h> int main(){ cout H</iostream.h>…

うちの学科では学校が指定したパソコンの購入が義務付けられていて、そのパソコンの配布する日が今日です。 このパソコンはwinxpとlinuxのduel bootなんで、とりあえず、 windowsのほうはD言語とかの開発環境の整備とか色々やってカスタマイズ。 linuxのほう…

D

D言語って ポインタのメンバを示すには->演算子を使わずに.だけでできるような言語仕様ですよね。 でもポインタのポインタだと無理なんです。 struct hoge{ int hage; } void main(){ hoge a;//まずは実体から a.hage;// OK hoge*b=&a;//つぎはポインタ b.ha…

ういーす。長いオリエンテーションもあとちょい。 新歓実行委員会の「パーっとティーでものみません?」にも参加しました。 始めに、春という単語で思いつく絵を書いてくれ。と言われたので、参加者全員に聞くのかなぁ、と思って一人くらいネタを入れたほう…

今日は、昨日の反省も兼ねて、余裕をもって出発。最初に大学の総合科目についての説明を受ける。 まぁここら辺は適当に聞いても問題なし。 次は生徒と先生の懇談......の予定でしたけど、自分の入ったメディアコンピュータシステム学科(以下メディコンと略す…

v.120

D

とくに面白いネタ追加はなかった。 少し嫌なのは定義済みversionのAMD_64がX86_64に変更されたこと。 まあ後で適当に書き直すか。 追記: ちゅうかphobosのAMD_64の部分書き換えてないやん。 まぁ実害はないからもう放置で良いか。