ごはんB定食 このページをアンテナに追加 RSSフィード

2007/07/17 知りたいのは本当のこと

[][][]いつもお世話になっております 00:04 いつもお世話になっております - ごはんB定食 を含むブックマーク いつもお世話になっております - ごはんB定食 のブックマークコメント

C++Javaの参照は参照でも意味(扱い)が違うのではまりますよね、と。

「参照渡し」と「参照の値渡し」の差 - 神様なんて信じない僕らのために

私もこの辺のねたでエントリを書いたことがありましたが、いい加減この辺の誤解や勘違いはなくならないものですかね。たぶん最初に覚えた言語の動作をそのまま当てはめて理解しようとする(した)人がそれを後世に伝えていくので、おかしな理解が拡散して収拾がつかなくなってしまっているんでしょうかね。そのへん、id:Isoparametric:20070709:1183948069 の話にも通じるものがあるのかなと思ったり思わなかったり。

ところで、C# から入った人、あるいは C# 周辺の文化圏ではこの辺どう理解しているものなのだろうか?*1

まあ少なくとも最近仕事でかかわったところではまったく理解されていなさそうであったが。(なんでそこでわざわざ ref を使うのさー。on_)とか・・・。

*1:Java 流の参照の値渡しと参照渡しの両方がサポートされている。

2007/05/08 あれ?無題だった?

[][][][]JavaC# ではプチ自慢にもなりません 01:32 Java と C# ではプチ自慢にもなりません - ごはんB定食 を含むブックマーク Java と C# ではプチ自慢にもなりません - ごはんB定食 のブックマークコメント

なんかこのへんから FizzBuzz 問題が話題になっているようで。

せっかくなのであなごるのFizzBuzzで、Java と C# でトップの記録に並んでいる私のコードを公開。

class F{public static void main(String[]a){for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?""+i:"":"Buzz"));}}

C# は手元に残ってなかったけど、java を C# に置き換えるだけ、だったと思う。

まああれですよ、そもそも Java でやるようなことではないです・・・。

追記(2010/03/06)

当時は上のコードが(あなごる上で実現できるコードとしては)確かに最短だったのですが、現在では

  • static イニシャライザを使う
  • 条件演算子仕様が変わっている事を利用する

上記二点によりあと 31 バイト縮みます。

追記(2010/07/09)

トップのスコアが 98 になってる!?見当がつかないのだが・・・。

追記(2010/08/11)

その後さらに 97B まで削れていたが、そのコードが判明。別エントリでどうぞ

追記(2011/04/06)

実は 98B に enum での削りを適用したほうが最短なのではないかという疑念が。別エントリでどうぞ

追記(2012/01/18)

さらに 1B 削れて 96B になる。

別エントリでどうぞ

2007/03/29 久々

[][][]人それぞれ 00:23 人それぞれ - ごはんB定食 を含むブックマーク 人それぞれ - ごはんB定食 のブックマークコメント

exit status のようなシンプルな問題でも、人によってまったくとき方が違うものなんですね。siokoshouさんの解法をみて驚いた。

ちなみに 92B で並んでいたときのコードがこれ。

using C=System.Console;class X{static void Main(){int c=C.Read();C.Write(c<102?255:c%5-1);}}

ちょっと最後の -1 あたりに無理やり感があふれ出ていますが、これを何とかする方向で考えて 90B まで行きました。見た目はさらに削れそうなんですが、残念ながら t も f も偶数なのでそこから 0 と 1 をズバッと作るのが無理そうでそこで止まってます。

siokoshousiokoshou 2007/03/30 01:06 うわ、本当だ、全然違いますね。おもしろいですねぇ。

2007/03/28 忙しい

[][][][]気合 02:15 気合 - ごはんB定食 を含むブックマーク 気合 - ごはんB定食 のブックマークコメント

exit status

単純な問題かと思いきや、なかなかどうして奥が深い。入力値をふにゃほにゃしたりその結果をさらにほげほげしたりして削っていく過程がなかなか。

2007/03/26 こら

[][][]後手後手 01:19 後手後手 - ごはんB定食 を含むブックマーク 後手後手 - ごはんB定食 のブックマークコメント

invert case

id:siokoshou さんに抜かれ、ようやく追いついたと思ったら id:shinichiro_h さんにまた抜かれ。何とかまた追いついたけど、100B にしたところですぐに 98B に気づけないあたりがわしはまだまだぬるい。ていうか「32 で xor」になかなか気づけなかったあたりで論外という気もするが。

2007/03/24 今年度もあと一週間

[][][]Smileys Triangle 01:59 Smileys Triangle - ごはんB定食 を含むブックマーク Smileys Triangle - ごはんB定食 のブックマークコメント

これで(改行をLFにして)122B。107Bとか、どうするんだ。

golf - 平々毎々

107B はわたしもわかりませんが、一世代前の 110B を公開してみます。

class S{static void Main(){string s=":\n:-";for(int i=0;i++<33;s=i<2?"\n:-)":s+"))")System.Console.Write(s);}}

ちなみに最新の 105B はこれをそのまま削ろうとしても(多分)無理で、実際あるメソッドの力を借りてます。

2007/03/13 OO の次はなんだろう?

[][][]:-) 23:33 :-) - ごはんB定食 を含むブックマーク :-) - ごはんB定食 のブックマークコメント

anachy golfSmileys Triangle(Java) が(きわめて局所的に)熱い。Mark Byers さんとわしで 1B ずつ抜きつ抜かれつを繰り返している。Mark125 -> nattow124 -> Mark123 -> nattow122

ちなみにわしの 122 は 124 のときとはちょっとアプローチを変えた。わしに思いつくことはやりきったと思う。これで抜かれたらお手上げ。でも、Mark Byers さんがいなかったら、122 はおろか 124 も出てなかったと思うので感謝感謝。

ところで不思議なのは、今のところ Java はわしが 1B 少ないのに C# は同点だというところ。

  • Mark Byers さんの C# は java とは違うアプローチで、java ではできない削り方をしている
  • Mark Byers さんが java で削りそこなっている
  • わしが c# で削りそこなっている

このどれかだと思うのだけど。(何度か見直したので三番目はたぶんないと思うけど。)

125〜124 のあたりではそのようなずれはなかったはずだが・・・。

とおりすがりとおりすがり 2007/03/14 06:13 そういう方にお勧めのCookieCuller(https://addons.mozilla.org/firefox/82/)。これで嫌なクッキーは起動毎に強制的に削除しているので、私にはあんまり関係ない話です。