コンピュータやソフトウェアのあれこれ@道民(&元道民)
Archive for 10月, 2010
[PHP]与えられた引数をそのまま返す最短のビルトイン関数って何だろう
10月 23rd
Rubyの文字列内の式展開みたいなことをPHPでやる方法として、与えられた引数をそのまま返す関数を作っておいて文字列内で可変関数として呼び出すという方法がある。
- http://twitter.com/#!/iakio/status/21577621837
- http://www.php.net/manual/ja/language.types.string.php#91628
なんだけど、わざわざその為に関数を定義したくない、与えられた引数をそのまま返す最短のビルトイン関数って何だろうと思ったわけです。
例えばstr_repeat()。
<?php $e = "str_repeat"; echo "{$e(1+2,1)}\n";
クラスベースの Pragger のようなものが作りたい
10月 23rd
クラスベースの Pragger のようなものが作りたい
Ruby だと | をメソッドとして定義できるんですね.それを利用して
Foo | WithIndex | Reverse
と書くとよしなにしてくれるスクリプトをrubyで書く方法を考えました.まだ block 取れないんですけど
Foo | WithIndex | Reverse | Grep { |e| e[1] == 1}
と書くと結果が ["foo", 1] になるように今後改造してみたいです.
module Praggerable
attr_accessor :this
def | other
other.new self.this
end
def self.included mod
mod.extend ClassMethods
end
module ClassMethods
def | other
other.new self.new.this
end
end
end
class Foo
include Praggerable
def initialize base=nil
@this = %w(foo foo foo)
end
end
class WithIndex
include Praggerable
def initialize base=nil
@this = base.each.with_index.to_a
end
end
class Reverse
include Praggerable
def initialize base=nil
@this = base.reverse.to_a
end
end
Foo | WithIndex | Reverse # => #<Reverse:0x0000010086a4d8 @this=[["foo", 2], ["foo", 1], ["foo", 0]]> 釧路講習2ターン目(二日目)
10月 23rd
釧路講習2ターン目(二日目)
実装の判断をしていく過程を @darashi とペアプロする形で実演したり。あの感覚をもう少しきちんと伝えれるようになりたい。帰りの汽車ではとても有意義な議論が出来たんじゃないかと思う。
「猫の恩返し」を観た
10月 22nd
「猫の恩返し」を観た
金曜ロードショーでやってたのでぼんやりと眺めていました.ぼんやりと眺めていられる良い映画ですね.つじあやのの主題歌はいつ聞いてもいいですね.
2010-10-18のツッコミ[1] (一般読者)
10月 22nd
『クリエイティブ都市経済論』の方が他のものより面白かった。
とくに訳者が図解しているところがありがいかった。あとがきが良く分かった。
とくに訳者が図解しているところがありがいかった。あとがきが良く分かった。
最終更新日付を更新するPythonスクリプト
10月 22nd
久しぶりのPython Pythonでファイルの最終更新日付を更新するにはos.utimeを使用する。 os.utime(path, times)
pathはファイルパス、timesは(最終アクセス時刻, 最終更新時刻)の形のタプル指定する。それぞれの時刻にはエポックからの経過時間を指定する。
エポックからの経過時間を取得するには、time.mktimeが使える。
time.mktime(t)
tはstruct_timeという9つの整数からなるシーケンス(Python ライブラリリファレンス 14.2 time -- 時刻データへのアクセスと変換 参照)。
struct_timeを取得するには、time.strptimeが使える
time.strptime(string, [format])
まとめると
time.strptimeで

魔王 (講談社文庫)(伊坂 幸太郎)


