ToDo:
def f(a,b,c) l=[a,b,c] *q=[[a,0,0],[]] m={} until q.empty? s,h=q.shift next if m[s] m[s]=1 3.times{|f| 3.times{|t| x=s.dup x[t]+=y=[s[f],l[t]-x[t]].min x[f]-=y q.push([x,n=h+[[f,t]]]) if x.all?{|v|v<1||v==a*0.5} n.each do |f,t| puts %w(a b c)[f]+'=>'+%w(a b c)[t] end return end } } end end f(10,7,3)
こんなもんか。 ムダな計算しまくるけどメモアイズしてるからオッケー方針。
(01:34)
http://karetta.jp/article/blog/ll-spirit/033840
なんか一瞬答え違うなーと思ったけど、 一応 return 外すと同じ答え出てたからたぶん OK だろう。
(01:35)
http://alohakun.blog7.fc2.com/blog-entry-776.html
ここの syd_syd さんに同意だな。
結局皆さんが気にしてるのは〜からどの辺が「筋が良い」のか?
のあたり。
何がしたいか、っていう What はたぶんそれなりに 想像がつくというか割とプログラム書きの妄想の一つだと 思うんだけど、 How がよくわからないという。
という質問に対して返答が基本的に ふたたび What なのでよくわからなくなるんだな。 「できたプログラムの正しさが全て保証されるという点がブレイクスルーです」 とかそいう。 で How を知りたければ論文読むしか無いらしいのだけど、 それは残念なことで僕は文章読んでもコード書かないと さっぱりわからない人間らしいので。
(01:56)
アルファベットくらいだと甘いと思うので、 alnum の重複無しかつバイナリ無しくらいだとどんなもんだろうな。 まぁ記号ゴルフよりは簡単なので解けるのは間違いない。
(15:49)
初のフルタイム労働はまぁどうだったかなー と思い出してみる。
まぁ職場としては間違いなくいいんだろうな。 行く時間とか(俺は)適当だし 帰る時間とかも(俺は)適当だし (俺は)なんか斑鳩やってたりしたし。 結局クリアできんかったというか最後の方やってねえ。
で作業内容自体はまぁ(俺が)思ってたより 俺ちゃんと働くなーっていうか まぁそれなりにはやったような気が(俺は)した。 一応(俺は)今日で区切りをつけた気になってるし。 ただ内容自体は間違いなく Quine 書いたり ゴルフしたりしてる方がはるかに面白いんだよな。 まぁそんなもん元々期待してない。
あと飯とかボールとかスペースシップとかそのへんはまぁ、 どうでもいいや。 待遇は間違いなく豚に真珠的な感じとしか。
まぁそんなことよりやはり技術的な環境というか。 回りの人間が普通に話がわかる以上の エンジニヤばっかってのは嬉しいことだよなぁというのと、 あと次点は社内インフラに触れられることかなぁと。
話がわかるエンジニヤと仕事できるのが どのくらい良いことかっていうと、 つまり具体的に言うと不条理な要求があんまり来ないわけで。 あとちゃんとわかってる人に 評価されるってのは嬉しいことだよね、とかそういう。
気に喰わんのはアメリカぽいとかアメリカにあるとか デカいとか。
(16:19)
http://alohakun.blog7.fc2.com/blog-entry-777.html
GNU 拡張に頼らなくても。
#include <stdio.h> int add1(int x) {puts("use function def");return x + 1;} #define add1(x) ((puts("use macro def") * 0) + (x) + 1) int main() { printf("%d\n", add1(9)); printf("%d\n", (add1)(9)); }
だからどうした
(03:28)
http://d.hatena.ne.jp/giveup/20070706#1183672750
とか思った俺はゴルフに毒されすぎだと思った。 全体括弧で囲ってるから問題無いですねそうですね…
(15:03)
きっと blanco framework だとおもうんだ
http://hp.vector.co.jp/authors/VA027994/blanco/blanco.ja.html
うそですごめんなさい。
(04:13)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070604/273175/
via http://d.hatena.ne.jp/odz/20070704/1183577715
それはそうと最後の記者紹介見ると99年には 技術職やめておられるようで。
(08:43)
一郎二郎三郎の三兄弟がいました。 以下から彼らの年齢を当ててください。
一郎「5歳年下の弟がいるよ」
二郎「7歳年下の弟がいるよ」
三郎「長男は10歳だよ」
イマイチ。 なんかもう少し工夫できないものか
(20:11)
_ YT [二郎10歳、一郎8歳、三郎3歳かと思ったのですが、3歳の三郎君に「長男は10歳だよ」なんて台詞が言えるとは思えないの..]
_ shinh [一郎連れ子だとすると二郎さんの方の一郎は亡くなったんですかね… あと YT さんは深読みしすぎなのですが、仮に..]
_ shinh [で、一郎二郎ともに女性だった場合も連れ子はまぬがれないですね。 {1: 15, 2: 17, 3: 10} ]
_ YT [長女に二郎、次女に一郎と名づける酔狂な親がいてもおかしくないと思います。 ええと、厳密な条件としては、全員男、年齢..]
_ shinh [あーすいませんすいません。二郎10歳というYTさんが最初におっしゃっていたのが想定解でした。]
http://natu.txt-nifty.com/natsutan/2007/07/sicp_stream.html
うーむ。娘さんにするとなんでもすばらしくなるなぁ。
おにいちゃんのばか! int なんて型宣言書いたら 4 バイト増えるじゃない!!
いまいち萌えないな。
(15:22)
http://d.hatena.ne.jp/sumii/20070702/p2
sumiiさんって「OCaml自体が普及するより〜」みたいな見方される人だったんだ! と嬉しくなった。
誰か OCaml のかっこいい標準ライブラリ書かないものかしら。
あと元記事は読んでないのでさっぱりわからない。
(13:38)
http://yowaken.dip.jp/tdiary/20070703.html#p01
テトCPUは僕も長年 (高校3年くらいからなので構想8年規模) 作ろうと思ってたので やろうかなー。
そいや Code Golf の carldr 氏も作ってました。
(13:41)
http://www.atdot.net/~ko1/diary/200707.html#d3
一個 p :ok するために 192行必要なのだろうか それともなんか指数的に増えてくのだろうか。
(13:45)
obstack はこう結構何するのかイマイチわからん関数 (1grow とかそのへん) があって、怖いなーと思って objalloc を使い始めて うーんやっぱ obstack の方がいいや… と思って obstack に戻る、っていう作業を何度もしていると思う。
cparser もそんな経緯だったとおもう。
http://d.hatena.ne.jp/shinichiro_h/20070521#1179728233
結論は apr 使おう、ということで。
(13:48)
_ あろは [確かに Apache Portable Runtime はなかなか良さげですね.ポータブルなスレッドとかロックとか ..]
ニコニコで複数行 AA とか流さないのかなーとか 思ってたらあった。
http://www.nicovideo.jp/watch/sm500873
しかも想像してたよりはるかにすごかった。
(02:33)
そういうつもりだったんですよね。
http://www.nmt.ne.jp/~ysas/diary/?200706c&to=200706302#200706302
もちろん実装してもいいんだけどランダム勝負とかが怖いとか テスト用のスクリプトが遅いとか困るなとかそういう。
(02:58)
のではじめてというのは意外。
http://d.hatena.ne.jp/syd_syd/20070701#p1
どうでもいいけど
あとはstrutsを使っているときにActionFormとテーブルオブジェクトの中身をいち いち移し替えるコードの嵐とか.もういやです.単に僕が下手なのか?web開発の宿 命か?strutsだけ?RoRではどうなの?
に同意*999くらい
(13:33)
これの達成は、言語の数を以下に簡単に見積るかと いうことにもかかっているけど、年齢にもかなりよるよな。
15歳で達成できてたら変態だ。 20歳で達成はちょっとすごい。 25歳くらいが一番達成しやすそうな気がする。 30歳くらいになるとまたキツくなってきて、 40歳くらいで達成してるとかっこいい気がする。
(01:31)
なるほど。
http://www.nmt.ne.jp/~ysas/diary/?200706c&to=200706291#200706291
これは Code Golf の方で使ったことあるけど、 あれくらいの真剣さでやらないと出て来ないなぁ。
(01:34)
http://d.hatena.ne.jp/odz/20070629/1183121217
koreha omo si roi.
gmail toka dato motto owatteru na.
(01:37)
読み終わった。なかなか面白かった。 ストーリーが一本じゃないから刻んで読んで忘れてても そんなに問題にならんかったのもよいとおもう。
なんかこう、囚人って変人ばっかやなー と思ってしまうのだけど、 よくよく考えるとドストエフスキーの書く人間なんて もともと変人ばかりなのであった。
でもアルカトラズで聞いた感じでも変人ばっかだったけど、 アメリカ人なんて俺に言わせりゃみんな略。 いやそうでもないか。
でどう面白かったかというと。 うーん忘れたのだった。
あーなんだ。当時の平民と貴族の断絶っぷりは 尋常なもんじゃないなーとか。
いやまぁそういうことより こうネチネチネチネチと 人間について細かい描写を ひたすらにしていくだけ、 っていうのが楽しいんだよな。
(13:26)
たぶん二回目だけど読んでみた。
とりあえずtypoぽいのがあるな。
http://assam.cims.hokudai.ac.jp/et/indexj.html
この条件は他のルールの_景況_は受けません。
たぶん影響。
_C語_のように処理を細かく指定したり
C言語。
(14:03)
文章の主張の根拠がよくわからないのは、 主に Prolog と比較してるからだと思う。
プログラムに厳密な正当性を求めると代償が伴いました。例えば論理プログラミングでは
とか
記述可能です。例えば、Prologでは
とか、こいうの。 まぁ僕が知らんのがアレというか対象読者はまともな研究者なんだろうし まぁしょうがない。
ただなんか、 「非常に高速に」とか「非常に単純明快」とか が曖昧で根拠がその場に無いのは エンジニア的にはイヤンなかんじ。 Apple的というか。
(14:09)
とりあえず libboost は static link して欲しいにゃー と思いつつゴマかして動かす。
Hello …と思ってドキュメント読むのに飽きたので YT さんとこを見る。 動いたけど意味ない。
あとリンクと言えばデッドリンクが結構あって困る。
このへん読めばいいのかな。
http://assam.cims.hokudai.ac.jp/ettext/dtext/chap1.html#1
む、まただよ。
ETの枠組みでは、プログラムを作り出すことは比較的たやすくなる。 それは、一挙にプログラム全体を作り上げる必要がないからである。
こいうの見ると大抵の言語はファイルを分けられるし 一挙に全体作ったりしないんじゃないのか…とか思うのであった。
(14:19)
(fizzbuzz 0) --> (print "done"). (fbprint *N), {(:= 0 (mod *N 15))} --> (print "FizzBuzz"). (fbprint *N), {(:= 0 (mod *N 5))} --> (print "Buzz"). (fbprint *N), {(:= 0 (mod *N 3))} --> (print "Fizz"). (fbprint *N) --> (print *N). (fizzbuzz *N) --> (fbprint *N), (:= *M (- *N 1)), (fizzbuzz *M).
現状では Prolog と何が違うのかよくわからないのと、 あと := と = と == の違いがわからないという。
(14:39)
http://assam.cims.hokudai.ac.jp/eti/eti_builtin/arithmetic.htm#arith
http://assam.cims.hokudai.ac.jp/eti/eti_builtin/match.htm#unify
http://assam.cims.hokudai.ac.jp/eti/eti_builtin/match.htm#eq
これ見ると == 使うのが正しく見えるんだけどなぁ。
(14:43)
def ite(n): if n < 0: raise ValueError("minus dame zettai") for i in xrange(n): yield i # Error deru koto kitai simasu! try: ite(-1) # Error tonderu hazu dayo ne! assert False except: # OK pass
何度やらかしてもこれはやらかす。
Io は呼び出し側が意識しないといけないので やらかすことは無い。
ite := method(n, write("hoge\n") for (i, 0, n, i println yield(i) ) ) ite(10) // 全部実行される @ ite(10) // hoge も出ない
微妙に関係したりはする: http://d.hatena.ne.jp/ku-ma-me/20070613/p1
(15:08)
_ あろは [>> 大抵の言語はファイルを分けられるし一挙に全体作ったりしないんじゃないのか… そこらへんはまぁ,そういう話では..]
_ shinh [うーん。たとえば FizzBuzz とかどうなるんですかねぇ。そんなにうまくルールに分割できるんでしょうか。手続きに..]
_ あろは [Prolog は,建前は「宣言を書く」ということになっているのに,現実的には,プログラマの頭の中で手続きを脳内逆コン..]
_ shinh [あー N の方が高レベルであるごりずみっくーで D が低レベルで手続きーみたいな感じなんですね。で N から D に..]
_ あろは [そこはまぁ,物凄い零細研究室なので… 実は今公開されている ETI は,うちの研究室 OB の人がドクタの時に,たっ..]
軽くは使えるって感じじゃないのかなぁ。
http://mono.kmc.gr.jp/~yhara/d/?date=20070623
となると何個あるんだろう… 全部覚えてると思えないのが問題か。
(20:15)
C, C++, D, Java, Perl, Ruby, Python, Io, Javascript, OCaml
わりと安定してるもの。 全部手続き言語(OCamlも!!!!)じゃん。
(20:16)
http://d.hatena.ne.jp/niha/20070629#1183084248
smalltalk とか IO とか書いてる時点で それは知ってるのか…思うよね!
(20:19)
ObjectiveC, Scheme, Haskell, Lua, Bash
ObjectiveC はそれなりに書いたけど上に書き忘れていた。
(20:23)
ここまでで 19 しか無いわけだ。 しかも似たようなものばっかりだなー。
少し触ったことがあるもの…は結構多いので思い出すのは無理な気がする。
C#, Smalltalk, Awk, Prolog, PASCAL, Whitespace, Eiffel
BASIC は少しなんてもんじゃないが今書けるとは思えんので どこに入れたものやら。
あと Emacs lisp も入れていいのかな。
とりあえずこんなもんで 27 には到達したので良しとしよう。
(20:30)
irb(main):002:0> {"a", "B"} => {"a"=>"B"} irb(main):003:0> {"a"=>"B"} => {"a"=>"B"} irb(main):004:0> {"a": "B"} SyntaxError: compile error (irb):4: odd number list for Hash {"a": "B"} ^ (irb):4: syntax error, unexpected ':', expecting '}' {"a": "B"} ^ (irb):4: syntax error, unexpected '}', expecting $end from (irb):4
上の二つアリなら : も許してくれても良さそうなもんだと思うんだが
(20:33)
むずかしいな。
http://d.hatena.ne.jp/sumim/20070627/p1
i@colinux ~> perl -le '@_=1..1000;print"@_"=~y/1//' 301
絶対もっとなんかありそうなんだけど。
Ruby はゴルフじゃなくても ([*1..1000]*'').count('1') とか 書きそうな気がする。
あ少し縮んだ。
i@colinux ~> perl -e '$\+=y/1//for 1..1000;print' 301
(20:48)
http://d.hatena.ne.jp/yshl/20070624#1182700836
を見て
http://d.hatena.ne.jp/Nabetani/20051209#c1182787525
とコメントした翌日に
http://d.hatena.ne.jp/ku-ma-me/20070627/p1
と
http://d.hatena.ne.jp/KeisukeNakano/20070627/1182956107
を見た。
C のコードを実行する前提だと --*""; が最短かなと思ってます。
(01:04)
http://morihyphen.hp.infoseek.co.jp/
そいや僕も最近作りたいなーと思ってたのだった。
僕が日記システムに求めるものは
とかそんな感じかなぁと思う。 まぁ検索が圧倒的に重要なんだけどね。
最近思うところがあるので作ってみるかなー。 言語は D かな。
(16:16)
というフレーズは普通に公開情報みたいだ。
http://googletesting.blogspot.com/
まぁ僕は Testing も sucks だとおもう。 だってつまらんし。 適量なら Debugging の方がまだ面白かったりするしな。
(T-T) Debugging ('-') Testing (^-^) Validation
とか考えながら、やっぱスクリプト言語も OCaml 的な型宣言欲しいよなーと思った。 OCaml の型宣言はしたいところだけできて良い。 Ruby とかもできるんのかな。
def f(s : String) end f(123)
こんくらいならコンパイル時にハネられるだろう。 こういうのくらいでもそれなりに助かるんだよなー。 ってたぶん soutaro さんとかはそいうのしてるって話だったんだとおもう。
あともちろんこいう s : String とかは 標準ライブラリに使われているべきではないとおもう。 duck typing が生きなくなるから。 ただまークライアントコード書いてる時に ここ縛り強くしたいなーとかいう時にできるとうれしいわけだよね。
class String limit +(rhs : String) end
とかだけで制限強くできるとうれしいかもな。
あと duck typing と言えば Ada かなんかにあった このメソッドがあるクラスじゃないとダメ、 とかできると嬉しい気もするんだけど、 それこそ特異メソッドがどうしようもないので まぁそれはムリだな。
(15:55)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ あろは [ようするに,僕もそっちにはそれほど深く関わってないのでよくわからない,という.要領を得ない解答しかできなくてすいませ..]
_ shinh [あー、うーん。またしてもこう少なくとも僕には What をおっしゃってるように見えるので理解するのは諦めようかなと思..]