突然の出会い: プラウベルマキナについて 日本がバブル経済に突き進み始めた頃に3,500台ほど作られ、数年後にひっそり生産が閉じられた超短命製品プラウベルマキナW67とご縁があった。 その生産数の少なさからまともな個体と出会うことがなかったのだけど、使わないデジタル機材一式を売りに行った帰りにガラス…
暴言を言う自由はあっても正論を言う自由はないとはこれいかに ・「どうしてくれるんだ」 40代男性患者の病室で怒声が響いた。病室に入った女性看護師が、理由も告げられないまま、1人ずつほおを平手打ちされた。関東にある大学病院でのことだ。 泣きながらスタッフルームに戻ってくる若い看護師の様子を不審に思った看護師長が患者に問いただすと「腎臓病の治療がうまくいかず、透析になったことが受け止められなかった。腹がたって誰かにぶつけたかった」と打ち明けた。 医療従事者が患者やその家族から暴力や暴言を受けるケースが増えているという。 患者がこうした怒りを医療従事者にぶつける背景には、医療への過剰な期待がある。かつては「仕方がない」とあきらめるしかなかったことも、医療の進歩で、「どんな病気でも病院に行けば治る」「治らないのは医師の治療方針が間違っていたせいだ」と考えてしまう患者が多くなったという。 教
11/11日にNHKで放映した「星新一 ショートショート劇場」が出来栄えが良かったとの評を見て、見逃したことを悔やんでいたのだが*1「奇妙な世界の片隅で」で「コミック☆星新一午後の恐竜」と「コミック☆星新一空への門」を紹介していた。こちらも面白そうなので購入することに。SFのコミック化の傑作といえば、萩尾望都が描くレイ・ブラッドベリが真っ先に思い浮かぶ。 ウは宇宙船のウ (小学館文庫) 作者: 萩尾望都出版社/メーカー: 小学館発売日: 1997/08/01メディア: 文庫購入: 5人 クリック: 20回この商品を含むブログ (43件) を見る萩尾望都「ウは宇宙船のウ」 閑話休題。何年も前のこと。ブログに人が集まり過ぎてしまい、来る日も来る日も、コメントやリンク先のブログ巡回に追われる日々を送ることにふと空しさを覚えた。*2 そこで僕はひとつの実験をした。夏の終わりの或る日を境にブログの更
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)
Introduction What's this about? Language Designers: Looking for operator or function names? Well have a look at the following and remember using existing one may ease the transition :) Language Users: You know one language and want to find the corresponding operator or function in another language Language lovers: Want to know the various ways people invented for commenting/assigning/...? This is
スクリプト言語の比較 > 例外処理 Perl eval{ die "exeption"; }; if($@){ print "error: $@"; } else{ print "ok"; } 投げるのは文字列でも数値でもオブジェクトリファレンスでもよい。 Python 例外補足 import sys try: raise "exception" except: print "error:", sys.exc_info()[0] else: print "ok" import sys 起ころうとも起こるまいとも try: raise "exception" #except: # print "error:", sys.exc_info()[0] finally: print "in any case" try 文には、一個以上の except 節か、または一個の finally 節を持た
eval Perl eval STRING eval "\$i = 1;"; print "$i\n"; eval BLOCK eval { $i = 1 }; eval BLOCK の方は例外処理に使います。 Python eval で代入はできないらしい(?) >>> eval("i = 1") Traceback (most recent call last): File "<stdin>", line 1, in ? File "<string>", line 1 i = 1 ^ SyntaxError: invalid syntax eval が使えない訳ではない。 >>> print eval("1 + 2 ") 3 代入は式でなく文なので exec を使います。 >>> exec("i=1") >>> i 1 Ruby eval "i = 1" p i だと「undefin
スクリプト言語の比較 > クラス変数 Perl Python class Foo: x = 0 def __init__(self): Foo.x = Foo.x + 1 def foo(self): print Foo.x f1 = Foo() f1.foo() # => 1 f2 = Foo() f1.foo(); f2.foo() # => 2 2 Ruby @@ を前置(1.6から?) class Foo @@x = 0 def initialize @@x += 1 end def foo puts @@x end end f1 = Foo.new f1.foo # => 1 f2 = Foo.new f1.foo; f2.foo # => 2 2 ECMAScript(Javascript) コンストラクタ(これもFunctionオブジェクト)のスロットをクラス変数の様に使えま
スクリプト言語の比較 > インスタンスメソッドの追加 Perl package Foo; sub new{ # ... } sub foo{ print "foo"; } package main; $f = Foo->new(); $f->foo(); # => "foo" sub Foo::bar{ print "bar"; } $f->bar(); # => "bar" package Foo; sub baz{ print "baz"; } package main; $f->baz(); # => "baz" # 動的に追加/再定義する事も出来ます。 # 警告モードの元では再定義で警告を発します。 *{ref($f)."::foo"} = sub{ print "new foo" }; $f->foo(); # => "new foo" Python <URL:http://di
Perl return で値を返すことができる。 sub foo { return 1; } $x = foo(); print "$x\n"; 最後に評価された値が戻り値になるので、 以下のように return を書かないこともできる。 sub foo { 1; } $x = foo(); print "$x\n"; 以下のように複数の値を返すことができる。 sub foo { return 1, 2; } ($x, $y) = foo(); print "$x $y\n"; 配列が返ってくるだけなので以下のようにも記述できる。 sub foo { return 1, 2; } @x = foo(); print "$x[0] $x[1]\n"; 以下のようにリファレンスを使うとハッシュを返すことができる。 sub foo { return {'one' => 1, 'two' => 2
Perl 以下のようにすると定数が使えるらしい # 値の定義 *PI = \3.141592654; # 値の変更 # $PI = 10; print $PI, "\n"; 定数を変更しようとすると、以下のメッセージが出てエラーが起きる。 Modification of a read-only value attempted at foo.pl line 3. 定数関数というのもあるらしい Perl 5.004 からは以下のような記述ができるらしい use constant PI => 3.141592654; print PI, "\n"; # =>3.141592654 # PI = 10; # エラー 定数を変更しようとすると、以下のメッセージが出てエラーが起きる。 Can't modify constant item in scalar assignment at foo.pl l
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く