ラベル technical の投稿を表示しています。 すべての投稿を表示
ラベル technical の投稿を表示しています。 すべての投稿を表示

2010/01/18

Common Lispの「#'」オペレータはClojureでいうなに?

Clojureを勉強しようと思って「On Lisp」を読み始めました。Common Lispで書かれているソースコードをClojureに翻訳しながら読もうというたくらみです。
で、さっそくつまずきました。p.12-13にこんなコードがありました。
> (defun double (x) (* x 2))
> #'double
#<Interpreted-Function C66ACE>
このプログラムの「#'」オペレータをClojureでどう書くのかがわかりません。でも見た感じ、type関数に近いような気がします。
> (type double2)
chap02.defun$double2__124
> (type 10)
java.lang.Integer
doubleという関数を定義しようとしたらエラーになったので、double2にしました。
…うーん、やっぱり違うかも。

2009/11/05

PHP 5.3のインタラクティブシェルでは補完が効く

今日はじめて気がつきました。



PHP 5.2までは、インタラクティブシェルを起動した後、「<?php」と打ってから命令を実行していく流れになっていましたが、5.3からは最初から対話的に実行できるようになったようです。
本題の補完機能ですが、「ar」と打った後にタブキーを2度打つとズラッと候補が表示されるようになっています。そして候補が一つしかない状態のとき(ここでは「ars」まで打ちました)タブキーを打つと、残りと開始の括弧までが補完されます。これは便利かも。
ちなみに、インタラクティブシェル内で上キーを打つと、直前に実行した命令が表示されるようにもなっています。例えば上の画像の状態で上キーを打つと、直前に実行した「echo "hello world";」が再表示されます。また、一度インタラクティブシェルから抜けて、もう一度入り直した後でも、前回入力した命令の履歴が残るようになっています。
良い感じです。

2009/10/30

Eclipse 3.4 Ganymedeでは「Eclipse XML Editors and Tools」の3.1系が使えない?

「Help」→「Software Updates」からプラグインをアップデートし、Eclipseを再起動。その後いつも通りプロジェクト内からXMLファイルを開こうとしたら、
An error has occurred. See error log for more details.org.eclipse.wst.sse.ui.StructuredTextEditor.isBlockSelectionModeEnabled()Z
というエラーメッセージが表示されてXMLファイルが開けなくなってしまった。これは困った…。
で、このエラーメッセージをコピペしてGoogle先生に聞いてみたら、同じような悩みを持っている人を発見。

問題はどうやら「Eclipse XML Editors and Tools」というプラグインのバージョンにあったようです。アップデートしたとき、3.0系から3.1系になったのがいけなかったみたい。Ganymedeの場合は3.0系のほうが良さそうなので、上のページのアドバイス通りに、
  1. 「Help」→「Software Updates」
  2. 「Installed Software」タブ内の「Eclipse XML Editors and Tools」をクリック
  3. 「Revert Configuration」
  4. 履歴っぽい画面が現れるので、適当に日付をクリックして「Eclipse XML Editors and Tools」が3.0系のものを探す
  5. 「Finish」
このあとEclipseを再起動したら無事XMLが開けるようになりました。めでたしめでたし。