Hatena::Groupgeneration1986

最後に改行がないとコンパイルできない [suu-gの日記]

2008-06-27ゲイツ、怒りのメール

ゲイツ、怒りのメール

18:19

なんかゲイツ、怒りの秘蔵メール|ギズモード・ジャパンとかいう記事を見た。

全文和訳はなかったので、とりあえずしてみた。べ、別に暇だったわけじゃないんだからねっ!


From Bill Gates, To Jim Alchin

残念だ、ああ残念だ。Windowsのユーザビリティがこんなにも落ち込んでいることも残念だし、管理職の連中がユーザビリティについて考えちゃいないってことも残念だ。

俺の昨日の体験を教えてやろうじゃないか。


俺はMoviemakerをダウンロードしてDigital Plus Packを購入しようと決めたんだ。で、 microsoft.comに行った。ダウンロードページがあったからそこに行った。

ダウンロードページを開こうとしたら、五回もタイムアウトになった。その次でやっと開けたけど、それも8秒かかった。

こんなの、遅すぎて使えないよ。

ダウンロードページの)はじめの五個にはなかったから、続く45個のページも開いた。

この45個の名前もわけが分からない。これを見てると、"C:\Documents and Settings\billg\My Documents\My Pictures"だって分かりやすい方に見えてくるよ。

システムごとに分類されていないし…、他にも色々。

メディア関係のページを見たんだけどmoviemakerは見つからない。movieを探した。ない。今度はmaker。やっぱりない。これじゃあお手上げだ。


仕方がないからAmirにメールしたんだ。「Moviemakerのダウンロードはどこ?本当にあるの?」って。

そしたらあいつ、ダウンロードページからダウンロードされるとは考えていなかった、なんて言うんだ。

で、メインページから"movie maker"で検索してくれ、だって。"moviemaker"じゃあないんだとさ!

だから、まあ、検索したよ。ページはまたひっどく遅くて、表示まで6秒くらいかかったけど。


とにかく、もう今度こそは直にダウンロードできるボタンを見られるだろうと思ってたんだ。

でも違った。むしろやりかたはパズルみたいだった。Windows Updateに行って、わけの分からないことを山ほどやってこいって言って来た。

これはさすがにおかしいだろ。なんでMoviemakerをダウンロードするためだけにシステムのスキャンをしなきゃいけないのさ?しかも他のところにいってまで?

まあしかし行ったよ俺は。Windows updateに。Windows Updateは色々ダウンロードしなきゃいけないって言ってきて、わけの分からぬウィンドウがたくさん開いては消えてった。

Windows updateってWindowsとうまくつながってるんでしょ、もうちょっとなんとかならないの?


で、まあスキャンが始まったよ。けっこう時間がかかった。で、17MBのダウンロードが必要だってさ。

これの前に差分パッケージがあることは聞かされてた。怖すぎるラベリングをされた*1六つのファイルをダウンロードしなきゃいけなくなる代わりに、17Mのパッケージをダウンロードするんだって。*2

だからまあ、ダウンロードしたよ。これは早かった。ダウンロードの後、インストールが必要だった。こいつが6分間もかかって、その間はマシンが重くなって他に何も出来なくなった。

この6分の間、こいつは一体何やってんだ?あほか。ダウンロードが終わってからこれだなんて。

それで、終わったら今度は再起動しろって言ってくるんだよ。なんでそんなことしなきゃいけないの。毎晩起動しなおしてるって言うのに、なんでそのタイミングでわざわざ再起動の必要があるのさ?


…あまりにしつこく再起動しろって言ってくるもんだから、仕方なく再起動したよ。せっかく使ってたOutlookの状態が全部ぱぁになってしまったけど。

で、またパソコン立ち上げてもう一度Windows Updateに行ったんだ。あれ?そもそも俺なんでWindows Updateしてるんだっけ?俺はただMovie makerをダウンロードしたいだけなのに…。

次に何をするかチェックするため、Microsoftのページで説明を読んだ。なんかWindowsXPってフォルダをクリックしなきゃいけないらしい。なんでそんなことしなきゃいけない?WindowsXPを使ってるってことは、Windows Updateは知ってるじゃないか。

そのフォルダをクリックすることになんの意味があるんだ?分からないけど、クリックしたらわけの分からんものがたくさん出てきた。まあそのうちのひとつはMoviemakerだったんだけど。

とにかく、だからダウンロードしたんだ。ダウンロードは楽々だったけど、インストールはやっぱり何分もかかった。ほんと、奇跡的に遅い。


どっかしらの時点でWindows Media 9シリーズもダウンロードする必要があるって教えられたんで、それをしに行ったんだ。したらダイアログが出てきて、「保存」か「開く」かせまってきた。どっちにするか、説明書きには書かれてない。一体どっちにすればいいんだよ。

とにかく、ダウンロードしてインストールした。ダウンロードはやっぱり早かったけど、インストールには7分かかった。


これでやっとMoviemakerが使える!

そう思って「プログラムの追加と削除」を見に行ってみたら、

…ないんだよ。

あったのは、ゴミばかり。Microsoft Autoupdate Exclusive test package, Microsoft autoupdate Reboot test package, Microsoft Autoupdate testpackage1, Microsoft Autoupdate testpackage2, Microsoft Autoupdate Test package3, …。

おいおい、誰かWindowsのいけてるところをなくしちゃうことにしたのか?ファイルシステムはもうダメだ*3レジストリは使えない。プログラムの管理はまだまともな機能だったのに、今やこんなクソなことになってる。

でもこれはそんなクソのはじまりでしかなかった。あとでもっと見てみると「Windows XP hotfix 詳しくはQ329048を参照してください」なんてのがたくさん並んでいやがった。何だよQ320948って。なんでそんなのがここに並んでるんだ。いくつかのパッチはそれすらなくて、ただQ910655とだけ書かれてたりした。

これはひどい


プログラムリストにMoviemakerはなかった。

もうどうしようもない。Moviemakerは諦めて、Digital Plus Packageをダウンロードすることにした。

いろんな個人情報を書いてくれといわれた。

で、全部書いたんだよ。そしたらミスタイプがあったと判断されたらしく、全部書き直しだ。もちろん前に書いたものは全部消された。

くそだ。ミスタイプしないように五回もがんばったが、そのたびに消された。


結局、一時間以上クソみたいな時間を過ごして、プログラムのリストをゴミだらけにされて脅されてMicrosoftのページがクソだって分かっただけ。Moviemakerは動かせなかったし、Plus Packageも結局入手できなかった。


今回の経験から見られるユーザビリティへの意識の低さは酷すぎる。お前らは俺を怒らせた。Windows Network placesや802.11を使うときのメッセージよりも下はないだろうと思ってたけど、そんなことはなかったみたいだな。(あのルート認証のメッセージはほんと最高だよな!)

実際に使うようになったらもっと酷いことになることはまちがいない。


以上です。

訳する前の文は[CG]ビル・ゲイツ、怒りのEメール | TechCrunch Japanからお借りしました。


ふーん。

Mykusoloftと言えば「Microsoftで私が学んだこと」という本があって、これがなかなか面白いのでおすすめ。トップであるGatesは少しでも弱いところがあるとしつこく鋭く突っ込んでくるので社員から畏れられているという様子がよくわかる。良い上司。

もう一つ分かるのは、Gatesはとことんユーザから見た世界をシームレスにしたがってるってこと。変なものは見えない方が良い、設定はOSや何やが勝手に読み取ってくれた方が良い、と。

その賛否はともかくとして、とりあえずMSDNがわかりにくすぎるのでそこを修正してほしいなーと。他のページも使いにくいけど、MSDNはほんと見つけたい情報を探すのがたいへん。ライブラリの情報くらい一発アクセスさせれ。


そんだけです。和訳へのツッコミ歓迎です。

*1パッチの名前がもはやわけが分からないってこと??

*2:このパラグラフの訳は正直おかしいと思う。悪口になってない。:This is after I was told we were doing delta patches to things but instead just to get 6 things that are labeled in the SCARIEST possible way I had to download 17M.

*3:たぶん137GBの壁のことかしら

RickyRicky2012/01/29 15:03This atricle went ahead and made my day.

mlbqrfgmlbqrfg2012/01/29 23:49omc68I <a href="http://swzxzgykrebh.com/">swzxzgykrebh</a>

fzhxziehfyjfzhxziehfyj2012/01/30 22:06x6gv77 , [url=http://odoonlygcznh.com/]odoonlygcznh[/url], [link=http://bxnxfydawnnv.com/]bxnxfydawnnv[/link], http://ekpalbttquum.com/

mxbrujzjahwmxbrujzjahw2012/02/01 21:41WRL3Op , [url=http://fxtxktwjgziz.com/]fxtxktwjgziz[/url], [link=http://otqdxqyeevjq.com/]otqdxqyeevjq[/link], http://dqhxvwygcxti.com/

2008-05-10天使はおじさんだったよ\(^o^)/

マクロ使ってみたよ

| 19:15

アセンブラディレクティブのマクロを使ってみたよ\(^o^)/

これすごいよ\(^o^)/

.macro printhoge pname
	.text 1
\pname:
	pushl	%edx
	subl	$20, %esp
	movl	$_\pname, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	cmpl	%eax, %eax
	je	after_print

	.section .rodata
_\pname:
	.ascii "\pname \0"
.endm

printhoge Fizz
printhoge Buzz
printhoge FizzBuzz

.macro macroname [args]

っていう宣言で、.endmまでがマクロ宣言\(^o^)/

マクロ内で\引数とすればその場所が引数に置き換えられるよ\(^o^)/

文字列の中でもシンボル名の途中からでも置き換えちゃうよ\(^o^)/

冗談で試したら本当に出来てしまった\(^o^)/強力すぎる\(^o^)/


全体ではこんな感じだよ\(^o^)/

.globl main

.macro printhoge pname
	.text 1
\pname:
	pushl	%edx
	subl	$20, %esp
	movl	$_\pname, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	cmpl	%eax, %eax
	je	after_print

	.section .rodata
_\pname:
	.ascii "\pname \0"
.endm

.text 0
main:
	leal	4(%esp), %ecx
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ecx

	movl	$1, %eax
	movl	%eax, %ecx
loop:

	movl	%eax, %edx
	movl	$15, %ebx
	call	mod
	cmpl	$0, %eax
	je	FizzBuzz

/*	movl	%edx, %eax */
/* since x mod 5 == (x mod 15) mod 5  */
	movl	$5, %ebx
	call	mod
	cmpl	$0, %eax
	je	Buzz

	movl	%edx, %eax
	movl	$3, %ebx
	call	mod
	cmpl	$0, %eax
	je	Fizz

	movl	%edx, %eax
	pushl	%eax
	subl	$20, %esp
	movl	%eax, 4(%esp)
	movl	$_Number, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	
after_print:
	addl	$1, %eax
	cmpl	$100, %eax
	jle	loop

loop_end:
	popl	%ecx
	popl	%ebp
	leal	-4(%ecx), %esp
	ret

printhoge Fizz
printhoge Buzz
printhoge FizzBuzz

.text 2
mod:
/*
 This subroutine calculates
	 (mod %eax %ebx)
 returns the mod on %eax.
 mod()
 */
/*	movl	%ecx, %eax*/
mod_loop:
	cmpl	%eax, %ebx
	jg	mod_end
	subl	%ebx, %eax
	cmpl	%eax, %eax
	je	mod_loop
mod_end:
	ret
	
.section .rodata
_Number:
.ascii "%d \0"

アセンブリコードレベルでの記述は簡単になっているけど、オブジェクトファイルでは勿論展開されてるよ\(^o^)/

fb2.o:     file format elf32-i386

Disassembly of section .text:

00000000 <main>:
   0:	8d 4c 24 04          	lea    0x4(%esp),%ecx
   4:	83 e4 f0             	and    $0xfffffff0,%esp
   7:	ff 71 fc             	pushl  0xfffffffc(%ecx)
   a:	55                   	push   %ebp
   b:	89 e5                	mov    %esp,%ebp
   d:	51                   	push   %ecx
   e:	b8 01 00 00 00       	mov    $0x1,%eax
  13:	89 c1                	mov    %eax,%ecx

00000015 <loop>:
  15:	89 c2                	mov    %eax,%edx
  17:	bb 0f 00 00 00       	mov    $0xf,%ebx
  1c:	e8 95 00 00 00       	call   b6 <mod>
  21:	83 f8 00             	cmp    $0x0,%eax
  24:	74 78                	je     9e <FizzBuzz>
  26:	bb 05 00 00 00       	mov    $0x5,%ebx
  2b:	e8 86 00 00 00       	call   b6 <mod>
  30:	83 f8 00             	cmp    $0x0,%eax
  33:	74 51                	je     86 <Buzz>
  35:	89 d0                	mov    %edx,%eax
  37:	bb 03 00 00 00       	mov    $0x3,%ebx
  3c:	e8 75 00 00 00       	call   b6 <mod>
  41:	83 f8 00             	cmp    $0x0,%eax
  44:	74 28                	je     6e <Fizz>
  46:	89 d0                	mov    %edx,%eax
  48:	50                   	push   %eax
  49:	83 ec 14             	sub    $0x14,%esp
  4c:	89 44 24 04          	mov    %eax,0x4(%esp)
  50:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  57:	e8 fc ff ff ff       	call   58 <loop+0x43>
  5c:	83 c4 14             	add    $0x14,%esp
  5f:	58                   	pop    %eax

00000060 <after_print>:
  60:	83 c0 01             	add    $0x1,%eax
  63:	83 f8 64             	cmp    $0x64,%eax
  66:	7e ad                	jle    15 <loop>

00000068 <loop_end>:
  68:	59                   	pop    %ecx
  69:	5d                   	pop    %ebp
  6a:	8d 61 fc             	lea    0xfffffffc(%ecx),%esp
  6d:	c3                   	ret    

0000006e <Fizz>:
  6e:	52                   	push   %edx
  6f:	83 ec 14             	sub    $0x14,%esp
  72:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  79:	e8 fc ff ff ff       	call   7a <Fizz+0xc>
  7e:	83 c4 14             	add    $0x14,%esp
  81:	58                   	pop    %eax
  82:	39 c0                	cmp    %eax,%eax
  84:	74 da                	je     60 <after_print>

00000086 <Buzz>:
  86:	52                   	push   %edx
  87:	83 ec 14             	sub    $0x14,%esp
  8a:	c7 04 24 06 00 00 00 	movl   $0x6,(%esp)
  91:	e8 fc ff ff ff       	call   92 <Buzz+0xc>
  96:	83 c4 14             	add    $0x14,%esp
  99:	58                   	pop    %eax
  9a:	39 c0                	cmp    %eax,%eax
  9c:	74 c2                	je     60 <after_print>

0000009e <FizzBuzz>:
  9e:	52                   	push   %edx
  9f:	83 ec 14             	sub    $0x14,%esp
  a2:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
  a9:	e8 fc ff ff ff       	call   aa <FizzBuzz+0xc>
  ae:	83 c4 14             	add    $0x14,%esp
  b1:	58                   	pop    %eax
  b2:	39 c0                	cmp    %eax,%eax
  b4:	74 aa                	je     60 <after_print>

000000b6 <mod>:
  b6:	39 c3                	cmp    %eax,%ebx
  b8:	7f 06                	jg     c0 <mod_end>
  ba:	29 d8                	sub    %ebx,%eax
  bc:	39 c0                	cmp    %eax,%eax
  be:	74 f6                	je     b6 <mod>

000000c0 <mod_end>:
  c0:	c3                   	ret    

mod_endとかそういうラベルがまだ残ってるのが気持ち悪いね\(^o^)/

確かLから始まるラベルはリンカに行く前に自動的に消えるとかそういう決まりがあったはず\(^o^)/

VerdyVerdy2012/05/24 09:28A simple and intleigelnt point, well made. Thanks!

lmbrxhvlmbrxhv2012/05/24 11:21TrAu7n <a href="http://wwuykdgrlbza.com/">wwuykdgrlbza</a>

nzhntgfnzhntgf2012/05/25 14:45tlfIoO , [url=http://eiryyejlhvts.com/]eiryyejlhvts[/url], [link=http://ewsszgmprrmw.com/]ewsszgmprrmw[/link], http://hpiqhlhhjgdx.com/

ydvzohydvzoh2012/05/25 16:50BqXqyX , [url=http://culblaylukbu.com/]culblaylukbu[/url], [link=http://kegndllkpirk.com/]kegndllkpirk[/link], http://aqofdkpzecki.com/

tiudkljgvvtiudkljgvv2012/05/25 19:01mVVMsl , [url=http://wbxlcbeekjgj.com/]wbxlcbeekjgj[/url], [link=http://xrzpqapisgap.com/]xrzpqapisgap[/link], http://ypwvlrgkinxs.com/

fojqxqlshfojqxqlsh2012/05/26 17:09yVT9Ax <a href="http://fslqbdilpznu.com/">fslqbdilpznu</a>

wppqsjwppqsj2012/05/27 20:484poIp1 , [url=http://dzjgthbdyiyi.com/]dzjgthbdyiyi[/url], [link=http://smezewkwiywr.com/]smezewkwiywr[/link], http://zmlgacmdvlzt.com/

efkowudoquefkowudoqu2017/01/04 23:57http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

usaxeduehusaxedueh2017/01/05 05:18http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

atgoruputaatgoruputa2017/01/05 05:34http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

idagijidibiidagijidibi2017/01/05 23:05http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

cutuwiqcutuwiq2017/01/05 23:21http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

jabiqebutjabiqebut2017/01/06 21:09http://dutasterideavodartonline.org/ - dutasterideavodartonline.org.ankor <a href="http://online-purchaselevitra.net/">online-purchaselevitra.net.ankor</a> http://20mg-cheapest-pricelevitra.net/

exevohaexevoha2017/03/24 04:52http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

apiyejiogapiyejiog2017/03/24 05:08http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

wigejanojaywigejanojay2017/03/24 05:11http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

ociueybesubiociueybesubi2017/03/24 05:22http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

eferivumauzuleferivumauzul2017/03/24 05:27http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

acanoniracanonir2017/03/24 05:41http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

ipaolizeshuipaolizeshu2017/03/24 14:19http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

ukidufepequpaukidufepequpa2017/03/24 14:39http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

afvigziqeafvigziqe2017/03/25 09:42http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

uyesigojacamuuyesigojacamu2017/03/26 09:51http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

abogaofolikabogaofolik2017/03/26 10:09http://usa-onlineprednisone.net/ - usa-onlineprednisone.net.ankor <a href="http://salbutamol-ventolin-buy.net/">salbutamol-ventolin-buy.net.ankor</a> http://online-viagracanada.net/

ckogicejahekckogicejahek2017/04/26 05:31http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

oyoyugazupuleoyoyugazupule2017/04/26 06:16http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ubaviedaepulubaviedaepul2017/04/26 06:36http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

unuvafusunuvafus2017/04/26 06:54http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

odukodirulemodukodirulem2017/04/26 06:57http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

opaveqaopaveqa2017/04/26 07:24http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

erutegilerutegil2017/04/26 07:25http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uquleoguruiyuquleoguruiy2017/04/26 07:40http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ialeibijialeibij2017/04/26 07:47http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

imuzeqiylobimuzeqiylob2017/04/26 07:57http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

otovaqanaotovaqana2017/04/26 08:03http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ilaavixakuruilaavixakuru2017/04/26 08:03http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

isohufadapoqisohufadapoq2017/04/26 08:24http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

axelancuwohifaxelancuwohif2017/04/26 08:25http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

umituewehozumituewehoz2017/04/26 08:43http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

usugoinsusugoins2017/04/26 09:30http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

izetuudgulokizetuudgulok2017/04/26 10:30http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

umoyibozerumoyibozer2017/04/26 10:51http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

anuheqiranuheqir2017/04/26 13:38http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

aqajacecaehataqajacecaehat2017/04/26 13:59http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ojirejuojireju2017/04/26 15:48http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uhayadauhayada2017/04/26 16:26http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

aiganijufuaiganijufu2017/04/26 16:35http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uxiqikofuxiqikof2017/04/26 16:47http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

amizomidojojamizomidojoj2017/04/27 03:56http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

JustBicJustBic2017/05/10 01:47Levitra Prix Pharmacie Pour Article 131 Viagra Pharmacy Order Levitra On Line <a href=http://byuvaigranonile.com>viagra</a> Generic Viagra Louisville Ky

JasdremsJasdrems2017/05/11 15:01Propecia Cost Availability <a href=http://byuvaigranonile.com>viagra</a> Propecia Nelle Donne Alldaychemist Com Precio Viagra De Pfizer

uciviyonemuciviyonem2017/05/24 07:26http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ujokilukujokiluk2017/05/24 07:38http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

jugiibagesjugiibages2017/05/24 11:55http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

omehosenaomehosena2017/05/24 12:12http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

emanixujaliemanixujali2017/05/26 20:45http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

afivowewuyiafivowewuyi2017/05/26 20:58http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

idexucocidexucoc2017/05/28 19:23http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

iaeciveiaecive2017/05/28 19:31http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ropejueleiropejuelei2017/05/28 19:35http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ivuariyayivuariyay2017/05/28 19:44http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ujutapuhamefoujutapuhamefo2017/05/28 19:49http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

oyufumikucboyufumikucb2017/05/30 22:51http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ahodiikyuntinahodiikyuntin2017/05/30 22:51http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uxiwqecatoibuxiwqecatoib2017/05/30 23:03http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

itiyuziqopitiyuziqop2017/06/01 05:47http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

irebikoteirebikote2017/06/01 05:50http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

eniabuveweueniabuveweu2017/06/01 05:58http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

owijozuowijozu2017/06/01 06:04http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uubojanoquubojanoq2017/06/01 06:10http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

omilanoheomilanohe2017/06/01 06:24http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

otoicudukotoicuduk2017/06/01 06:33http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

opulemmityejopulemmityej2017/06/01 06:33http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

exeliisucfoexeliisucfo2017/06/01 06:46http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

erebeduxeraerebeduxera2017/06/01 06:47http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

bohamupifgeybohamupifgey2017/06/03 19:18http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

ugomoqevipiugomoqevipi2017/06/03 19:31http://100mgcheapest-price-viagra.com/ - 100mgcheapest-price-viagra.com.ankor <a href="http://tadalafil-buy-5mg.com/">tadalafil-buy-5mg.com.ankor</a> http://20mgprednisone-order.com/

uyumakeebnuuyumakeebnu2017/06/26 14:33http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

ewedekorewedekor2017/06/26 14:46http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

iwijagicisyigiwijagicisyig2017/06/26 15:14http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

asacatipagasacatipag2017/06/26 15:17http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

ocvhitabeocvhitabe2017/06/26 15:30http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

ovanoyegeovanoyege2017/06/28 01:31http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

2008-05-07題名を変えたよ

FizzBuzz書いたよ\(^o^)/

| 08:09

gasでFizzBuzz書いたよ\(^o^)/

手書きだよ\(^o^)/


.file "fb.s"
.globl main
	.section .text

.text 0
main:
	leal	4(%esp), %ecx
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ecx

.text 1
	movl	$1, %eax
	movl	%eax, %ecx
loop:
	movl	%eax, %edx
	movl	$15, %ebx
	call	mod
	cmpl	$0, %eax
	je	FizzBuzz

/*	movl	%edx, %eax */
/* since x mod 5 == (x mod 15) mod 5, */
/* the last statement can be commented out */
	movl	$5, %ebx
	call	mod
	cmpl	$0, %eax
	je	Buzz

	movl	%edx, %eax
	movl	$3, %ebx
	call	mod
	cmpl	$0, %eax
	je	Fizz

	movl	%edx, %eax
	pushl	%eax
	subl	$20, %esp
	movl	%eax, 4(%esp)
	movl	$_Number, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
after_print:
	addl	$1, %eax
	cmpl	$100, %eax
	jle	loop
loop_end:
	popl	%ecx
	popl	%ebp
	leal	-4(%ecx), %esp
	ret

.text 2
Fizz:
	pushl	%edx
	subl	$20, %esp
	movl	$_Fizz, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	cmpl	%eax, %eax
	je	after_print
Buzz:
	pushl	%edx
	subl	$20, %esp
	movl	$_Buzz, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	cmpl	%eax, %eax
	je	after_print
FizzBuzz:
	pushl	%edx
	subl	$20, %esp
	movl	$_FizzBuzz, (%esp)
	call	printf
	addl	$20, %esp
	popl	%eax
	cmpl	%eax, %eax
	je	after_print

mod:
/*
 This subroutine calculates
	 (mod %eax %ebx)
 returns the mod on %eax.
 */
mod_loop:
	cmpl	%eax, %ebx
	jg	mod_end
	subl	%ebx, %eax
	cmpl	%eax, %eax
	je	mod_loop
	ret


.section .rodata
_Fizz:	
.ascii "Fizz \0"
	.align 4
_Buzz:	
.ascii "Buzz \0"
	.align 4
_FizzBuzz:	
.ascii "FizzBuzz \0"
	.align 4
_Number:
.ascii "%d \0"
	.align 4

真面目な記事は自称すーじー。の方に書くよ\(^o^)/

文字列の配置に間違いがあったので修正したよ\(^o^)/

.data じゃなくて .rodata に置くべきだったよ\(^o^)/

syou6162syou61622008/05/07 10:11なんだこれw\(^o^)/

hogeloghogelog2008/05/07 16:39わかりやすくていいなあ。

でも先生!
pushl %edx
subl $20, %esp
movl $_FizzBuzz, (%esp)
call printf
addl $20, %esp
popl %eax
cmpl %eax, %eax
似たような行あって、コード圧縮したくなりませんか!

suu-gsuu-g2008/05/07 21:20圧縮したいよ\(^o^)/
でも関数とかジャンプとかじゃなくて、
マクロのディレクティブを使ってみようと思うよ\(^o^)/

aycaayca2012/05/24 10:32Big help, big help. And superlative news of cosure.

ckjmqjtiwckjmqjtiw2012/05/24 11:46ZiIksm <a href="http://jsltmyvtuijx.com/">jsltmyvtuijx</a>

ldcunkglmzldcunkglmz2012/05/25 15:12WaBFBn , [url=http://axbctupdqkot.com/]axbctupdqkot[/url], [link=http://brymuhhpvumz.com/]brymuhhpvumz[/link], http://vwkaiprprpar.com/

cjwftlygcvkcjwftlygcvk2012/05/25 17:17rE6qaq , [url=http://yhncrjmakxoz.com/]yhncrjmakxoz[/url], [link=http://hesnaapuxszf.com/]hesnaapuxszf[/link], http://gbduxnjszwcr.com/

ugwvsmkbugwvsmkb2012/05/25 19:18q7CQSP , [url=http://gtkxwurxgywx.com/]gtkxwurxgywx[/url], [link=http://oggpkyplneoj.com/]oggpkyplneoj[/link], http://vjhzjenhafrn.com/

aggnzbqxsznaggnzbqxszn2012/05/26 16:12ev9Of0 <a href="http://sxzarvwatamj.com/">sxzarvwatamj</a>

PhilipVofPhilipVof2017/04/12 04:50http://stemmeries.xyz <a href="http://stemmeries.xyz">norsk kasino</a> http://stemmeries.xyz - norsk kasino

2008-03-17んー。。。

ソースコードを出力するコード

| 16:55

C言語を書くのって面倒ですよね!


と言うわけで、C言語のソースを入力として、そのコードを出力するC言語プログラムを出力するコードを。

こんな感じですかね。

#!/usr/bin/perl                                                                                                                                
                                                                                                                                               
print "#include <stdio.h>\nint main(void){";                                                                                                   
                                                                                                                                               
while(<>){                                                                                                                                     
    s/\\/\\\\/g;                                                                                                                               
    s/\"/\\"/g;                                                                                                                                
    s/%/%%/g;                                                                                                                                  
    if(chomp){$_ .= '\n';}                                                                                                                     
    print "printf\(\"$_\"\);";                                                                                                                 
}                                                                                                                                              
                                                                                                                                               
print "}\n";   

JulissaJulissa2012/05/25 13:34Inforamtoin is power and now I'm a !@#$ing dictator.

qogkzfrqogkzfr2012/05/27 10:27MUlgkl , [url=http://wwvusfrqlglm.com/]wwvusfrqlglm[/url], [link=http://vigjhdmkeewo.com/]vigjhdmkeewo[/link], http://pxdqysznpyws.com/

gebxrtigebxrti2012/05/27 17:2686xD3Y <a href="http://hqxiwqbhuhsd.com/">hqxiwqbhuhsd</a>

kikxzsgufunkikxzsgufun2012/05/28 22:52rZ9WMV , [url=http://simsnjzzzhea.com/]simsnjzzzhea[/url], [link=http://pkcwyzfxnxwg.com/]pkcwyzfxnxwg[/link], http://mpanoudmvfoz.com/

2008-03-16しょうもないFizzBuzz

ただのFizzBuzzでしかありません

22:23

しょうもないFizzBuzzを書きました。いや、書かせました。

#include <stdio.h>

int main(void)
{
	int i;
	puts("#include <stdio.h>\nint main(void){");
	for (i=1; i<=100; i++){
		if(0 == i%15){
			printf("printf(\"FizzBuzz \");");
		}else if(0 == i%5){
			printf("printf(\"Buzz \");");
		}else if(0 == i%3){
			printf("printf(\"Fizz \");");
		}else{
			printf("printf(\"%d \");", i);
		}
	}
	printf("}\n");
}

FizzBuzzを出力するコードを出力するコード。出力結果は:

#include <stdio.h>
int main(void){
printf("1 ");printf("2 ");printf("Fizz ");printf("4 ");printf("Buzz ");printf("Fizz ");printf("7 ");printf("8 ");printf("Fizz ");printf("Buzz ");printf("11 ");printf("Fizz ");printf("13 ");printf("14 ");printf("FizzBuzz ");printf("16 ");printf("17 ");printf("Fizz ");printf("19 ");printf("Buzz ");printf("Fizz ");printf("22 ");printf("23 ");printf("Fizz ");printf("Buzz ");printf("26 ");printf("Fizz ");printf("28 ");printf("29 ");printf("FizzBuzz ");printf("31 ");printf("32 ");printf("Fizz ");printf("34 ");printf("Buzz ");printf("Fizz ");printf("37 ");printf("38 ");printf("Fizz ");printf("Buzz ");printf("41 ");printf("Fizz ");printf("43 ");printf("44 ");printf("FizzBuzz ");printf("46 ");printf("47 ");printf("Fizz ");printf("49 ");printf("Buzz ");printf("Fizz ");printf("52 ");printf("53 ");printf("Fizz ");printf("Buzz ");printf("56 ");printf("Fizz ");printf("58 ");printf("59 ");printf("FizzBuzz ");printf("61 ");printf("62 ");printf("Fizz ");printf("64 ");printf("Buzz ");printf("Fizz ");printf("67 ");printf("68 ");printf("Fizz ");printf("Buzz ");printf("71 ");printf("Fizz ");printf("73 ");printf("74 ");printf("FizzBuzz ");printf("76 ");printf("77 ");printf("Fizz ");printf("79 ");printf("Buzz ");printf("Fizz ");printf("82 ");printf("83 ");printf("Fizz ");printf("Buzz ");printf("86 ");printf("Fizz ");printf("88 ");printf("89 ");printf("FizzBuzz ");printf("91 ");printf("92 ");printf("Fizz ");printf("94 ");printf("Buzz ");printf("Fizz ");printf("97 ");printf("98 ");printf("Fizz ");printf("Buzz ");}

これを再度gccすればFizzBuzzに。

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz

このくだらないのに九分かかりました><


えーと、期待した人はほんとごめんなさい。

ただのFizzBuzzになりました

04:39

さっきのコードは2回もgccしなければならず、とっても大変でした!

「りだいれくと」を知らないと、コンパイルする前に途方に暮れてしまいますし、ね!


それは困るので、コンパイルするだけで実行できるという、本来の位置に立ち戻って書き直してきました。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
       int i;
       FILE *fd;

       if( NULL == (fd = fopen("_temp_file.c", "w"))){
               puts("some sort of a bad file\n");
               exit(1);
       }

       fprintf(fd, "#include <stdio.h>\nint main(void){");
       for (i=1; i<=100; i++){
               if(0 == i%15){
                       fprintf(fd,"printf(\"FizzBuzz \");");
               }else if(0 == i%5){
                       fprintf(fd,"printf(\"Buzz \");");
               }else if(0 == i%3){
                       fprintf(fd,"printf(\"Fizz \");");
               }else{
                       fprintf(fd,"printf(\"%d \");", i);
               }
       }
       fprintf(fd,"}\n");
       fclose(fd);
       system("gcc -o _temp.exe _temp_file.c; ./_temp.exe; rm _temp.exe _temp_file.c");
}

どう見てもあろはくんのパクリですね!本当にありがとうございました!!


独創性が欲しいなぁ。(切実)

HashHash2008/03/17 00:23これがメタFizzBuzzか。
FizzBuzzを出力するコードを出力するコードを出力するコードを出力するコードを出 (ry

alohakunalohakun2008/05/02 07:13いまさらだけど $ gcc -xc - とかで,標準入力からコンパイルできるよ

2008-03-12んー

Haskellは知らないので

| 02:44

["aaa","bbb","ccc","aaa"]というリストがあったときに"aaa"という入力より["aaa","aaa"]という出力を得たい、という感じ

http://twitter.com/syou6162/statuses/770298353

それLispで。


と思ったので、とりあえず書きました。Common Lisp

(defun element-in-tree (tree a)
  (cond
   ((null tree) nil)
   ((atom (car tree))
    (cond ((equal (car tree) a)
	   (cons a (element-in-tree (cdr tree) a)))
	  (t (element-in-tree (cdr tree) a))))
   (t (cons (element-in-tree (car tree) a)
	    (element-in-tree (cdr tree) a)))))

ツリーに対して、位置関係を把握したまま実行できます。


それだけじゃつまらないので、書いたことのない OCaml で書いてみた。

# let rec element lst atm = 
    match lst with
      [] -> []
    | a :: rest -> if a=atm then
  		    a :: element rest atm
  		else
  		    element rest atm;;

こっちが動作するのはリストに対してのみ。

なんだか変数名が胡散臭いし、OCamlらしいコードかどうかもとっても疑わしい。

けど、言語仕様を確かめたりする良い練習になったので、今夜のところはひとまずよし、かな。


ツッコミは常に大歓迎です。特にコードや考え方の不備を指摘されるととっても喜びます。

List.filter超便利

| 12:25

# let exp = fun lst atm ->
  	List.filter (fun a -> a = atm) lst;;

こ れ で 終 わ り ! !

一回しか使わないなら、 List.filter(fun a -> a = "hogehoge") だけでその関数の意味になる*1。(組み込みの)高階関数は超便利ですね、びっくりした。


ラムダ式かわいいよラムダ式

*1:その後、その関数にリストを適用する

hogeloghogelog2008/03/13 09:05filter ("aaa" ==) ["aaa", "bbb", "ccc", "aaa"]
「Haskellでは組み込みの関数を組み合わせて目的とする処理を成し遂げるのがKool!」ってばっちゃが言ってた。

OCamlだとList.filterがあるからやっぱそっち使うとか。

SchemerとかSICPとかやると組み込みの便利なほげほげを使うという発想が消えるという楽しさがあるね。

suu-gsuu-g2008/03/13 12:24ツッコミありがとう!
さっそくList.filterを使ってみたけど、組み込みの高階関数って本当に便利なのね。

syou6162syou61622008/03/13 12:32ふむふむ

hogeloghogelog2008/03/13 13:31個人的には、引数の順序はこうしたい気もする。
let exp atm lst = List.filter (fun a -> a = atm) lst;;
そしたら(exp "hogehoge")でatmだけ束縛して、簡単に「"hogehoge"と一致する要素だけとってくるフィルター」とか作れて良い気がした。lstだけ束縛した関数はあんまし使いどころ無さげな気するし。

suu-gsuu-g2008/03/13 20:17あ、なるほど、fun a b -> hoge っていうのは fun a -> fun b -> hoge の構文シュガーみたいなものなのか。
(いま手計算してみて、引数の順番が変わらないことにちょっと驚いた)
部分適用って非常にλで良いですね!

suztomosuztomo2008/03/14 00:35suu_gはcurry化を身に着けた。

hogeloghogelog2008/03/14 14:39まさしくシンタックス糖衣です。

JacobyJacoby2012/01/27 18:04Umm, are you rellay just giving this info out for nothing?

mfdndilgmfdndilg2012/02/01 00:36kV8vOV , [url=http://ccvwujowdagl.com/]ccvwujowdagl[/url], [link=http://degassodawgp.com/]degassodawgp[/link], http://zydtyyasleze.com/

2008-02-21ケフィア

The Little Kefiaer 第4と3/4章

| 15:55

  • Is Kefia Kefia?
    • Yes.
  • Is Kefia Kefia?
    • Yes, of course.
  • Is Kefia Kefia?
    • Oh, why not?
  • Is Kefia Kefia?
    • Definetely!
  • Is Milk Kefia?
    • No.
  • Is Kefia Yogurt?
    • No, it's Kefia.
  • What is Kefia?
    • It's Kefia.
  • What is (Kefia? Kefia)
    • #t.
  • What is (Kefia? Milk)
    • #f.
  • Why?
    • Because (Kefia? Milk) is the same question as "Is Milk Kefia?"
  • What is (Yogurt? Kefia)
    • (No, it's Kefia)
  • Write Kefia?
    • (define Kefia?
    •  (lambda (k)
    •   (cond
    •    ((null? k) #f)
    •    ((Kefia? k) #t)
    •    (else #f))))
  • Is this right?
    • No, it's Kefia.

EnivaldaEnivalda2012/05/24 13:23Thanks for that! It's just the answer I neeedd.

gmmzroashggmmzroashg2012/05/25 09:57g52zmf <a href="http://rvseuvshkjtz.com/">rvseuvshkjtz</a>

wpbptbnwpbptbn2012/05/26 10:29HIawWG , [url=http://oyjkbuesqykp.com/]oyjkbuesqykp[/url], [link=http://gxwzbbhpvvem.com/]gxwzbbhpvvem[/link], http://pzurmiauzzdc.com/

zdbborwfzdbborwf2012/05/26 17:11p1weHf <a href="http://krddclgmsmrc.com/">krddclgmsmrc</a>

2008-02-17

ハチロク汚職の名札できたーよ?

23:40

f:id:suu-g:20080217233730p:image

id:yuyarin が名札のテンプレートを公開してくれていたので、mspaintにて編集してMY名札を作ってみた。普通だ、普通すぎるッ…!!!

id:hogelogクオリティにはかなわない。

2008-02-16こんにちはこんにちは!

id:suu-gですよ!

普段利用しているその他のサービスをちょっと紹介しますよ。


Hatena::Diary::suu-g *1

Twitter:suu_g

SkypeID : suu_g_boden

メールは titius6boden を爺メールまで送ってくれれば届きますよ!


よろしくお願いします!!

*1:ちょwwwid:suztomowwwまだ書き途中ww

BaburaoBaburao2012/05/24 12:55I'm not wotrhy to be in the same forum. ROTFL

hgiwpqhgiwpq2012/05/26 10:17p18GO0 , [url=http://jsdgrsshobhy.com/]jsdgrsshobhy[/url], [link=http://nqxmpbrgcgpb.com/]nqxmpbrgcgpb[/link], http://luxmkkplmuyd.com/

lnqnrqewndlnqnrqewnd2012/05/26 15:46Z4vPrE <a href="http://scaqqhbfqmfb.com/">scaqqhbfqmfb</a>

gtchxjgtchxj2012/05/27 20:14fUJmzy , [url=http://zrzzaygikara.com/]zrzzaygikara[/url], [link=http://texuzxruqauc.com/]texuzxruqauc[/link], http://glddxszawyhx.com/