Mitsukiの魔法実験室

Mitsuki's Magic Laboratory
Since 2002.09.14

2007/09/19

Posted at 2007/09/19 12:52 in Diary|Software

* 12:40 機械語は必須か?
「必須」という言葉に過剰反応するから妙な議論になるだけ、と今更言ってみる。

 まあ個人的には今の計算機事情からすれば機械語の知識は重要だと思ってはいるけど、アナログ計算機とかニューロン回路とかを鑑みれば所詮計算機の実装形態の1側面にすぎないし、そもそもリバースエンジリアリングが全ての局面で可能なわけでもない(ヒント:法、契約)。

* 13:00 K.Takata's software : SpringM Patch
 久しぶりにみてみたら更新されてたので、k29 にアップデート。インクリメンタルサーチ便利すぎ。
 あとは 2 列表示固定にできればなあ。

条件式中の範囲式

Posted at 2007/09/14 13:01 in Ruby

 Ruby(や Perl)の範囲式 .. は、if 等の条件文内(やスカラーコンテキスト)で使うと、条件1でONになり条件2でOFFになるという、フリップフロップのような動作をする:


% ruby -e '10.times do |i| print i if i == 3 .. i == 6 end'
3456

 しかし、範囲式をメソッドに追い出してしまうと、期待する動作をしなくなる:


% ruby -e 'def foo(i) print i if i == 3 .. i == 6 end; 10.times do |i| foo(i) end'
3

 おそらく、範囲式の状態はローカルスコープになっているため、メソッドを抜けたところで消えてしまうんじゃないかと思う(フリップフロップだけに「揮発」か?)。利にはかなってるかもしれないけど使いづらい。
 ちなみに Perl の場合はというと:


% perl -e 'for (1 .. 10) { print if $_ == 3 .. $_ == 6 };'
3456

% perl -e 'sub foo { print if $_ == 3 .. $_ == 6 }; for (1 .. 10) { foo };'
3456

 といった具合で、実に期待通りに動く(多分 closure 的に状態保持してるんだろう)。
 じゃあ Ruby でも closure にしてみればいけそうかな?:


% ruby -e 'foo = Proc.new do |i| print i if i == 3 .. i == 6 end; 10.times do |i| foo[i] end'
3456

 めでたしめでたし……?

2007/09/06

Posted at 2007/09/06 13:52 in Diary|Opera

* 13:50 Go and get Opera 9.5 alpha!
 無謀にも(?)完全置き換えでインストールしてみた。
 今のところ問題は、検索 Box で日本語入力してると落ちるくらいかな。クリーンインストールしても変化ないし、他でそういう報告も見ないので、環境の問題かも?
 表示の違いとかは元々気にしてないので(Yahoo の表示が変になるのはさすがに気づいたけど)、割とどうでもいい。動作速度はこころもち速くなった? 少なくともスムーズスクロールは快適になった気がする。

 そういえば、クリーンインストール後に Preference 眺めてて、Advanced→Fonts タブに Minimum font size なんて項目があるのに気づいた(昔からあるようだ)。これを適切に指定しておくと、やたら小さなフォント指定してるサイトも拡大しないで読めるので便利だ。

 検索 Box で落ちる件は他でもおきてるらしい。うちだけじゃなくてよかった(よくない)。

2007/08/28

Posted at 2007/08/28 15:45 in Diary

* 15:50 自宅鯖
 繋がらないなーとおもってたら、ドメイン更新するの忘れて失効しかけてた。あわてて更新。

仮想プリンタで Excel ファイルを印刷すると複数ファイルに分割されてしまう

Posted at 2007/08/20 15:17 in Software

 多シートにわたる規模の Excel ファイルを作っていると、仮想プリンタ( PDF プリンタ等)でブック全体を印刷した場合に、なぜか複数ファイルに分割されてしまうことがあるけど、原因の 1 つに気づいた。どうやら、「ページ設定」の設定項目がシート間で異なるとそこで分割されてしまうケースがあるらしい。今回は「印刷品質」が原因だったけど、編集中になにかのきっかけで値がかわったり未設定になったりすると、こうなる模様。
 具体的な解決法は:

  1. シートタブを右クリック→「すべてのシートを選択」
  2. メニュー「ファイル」→「ページ設定」で開くダイアログの「ページ」タブ→「印刷品質」を標準の 600dpi に設定して「OK」
  3. 保存して印刷
  4. めでたしめでたし

 なお KB816935 によると、印刷品質以外にもいくつか項目が挙がっているので、その辺みなおしてみるといいかも。

Page 5/41: [<<] [<] 1 2 3 4 5 6 7 8 9 [>] [>>]