MacのPHPがインタラクティブモード(対話型モード)日本語にいち早く対応している話 [プログラム]

 MacPHPがインタラクティブモード(対話型モード)日本語にいち早く対応している話なのですが、その前に何故phpなのかと言うと、最近blogの投稿も控える程調べているのが、各言語のインタラクティブモードだからです。進んだと言うか今更今頃になってと言うか、何年か前に買った参考書の内容は、Macではできなかった、と言うことは前にも触れているのですが、今Xcode6になってからか、文字化けも殆どなく、Linuxより何故か快適になったので平行して試しているのですが、rubyではpry、pythonではipythonと開発者に取ってはよりどり見取の環境になってきたのに、びっくりしている状況です。で、ネットに情報が少ないのがPHPだったので、挙げようと思った訳です。話によると、readline が無いとダメだとかあるのですが、筆者の環境は、常に最新の状況にしようとつとめているので、アップデートの他、phpだけのために何かしたとかはありません。ただ、$ php -a でそのモードになっていて普通に10年前買ったphpの参考書の通りやってみただけです。で、その10年前はどうだったかと言うと、何も起こりませんでした。第一phpとは何者かターミナルを使うとは何の意味があるのかさえ、はっきりとしていなかった頃なので、<?php … ?>も意味が分からなく投げ出した本です。もうちょっと自分に贔屓(ひいき)目なことを言えば、今やっている事が出来るものだと思って、やってみたもののからっきしその前の段階でノックアウトを食らったと言った方が良いかも知れません。所詮はマックの下馬評通り仕事には使えないんだと、改めて気付かされた状況でした。まあ、それでも未来が見えていれば良かったのですが、辛い状況だった事も確かです。で、今更対話モードが使えたとしても、phpの場合どうと言うことは無いとは思うのですが、どうなんでしょうか、ただ日本語がほとんどの言語で、文字化けしなくなっていると言うのが凄いですねえ。Linuxでは残念ながら、phpでは日本語が打てませんでした。何故かは解りませんが端末は日本語化が一番進んでいると思っていたのですが、そうでも無かったようです。また、最初 readline も入っていなかったようなので、$ sudo apt install php-cli ―with-readline だかで、インストールしました。因に今のMacの環境はこうなっています。


$ gcc -v


Configured with: --prefix=/Applications/Xcode6-Beta4.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1


Apple LLVM version 6.0 (clang-600.0.41.2) (based on LLVM 3.5svn)


Target: x86_64-apple-darwin13.3.0


Thread model: posix :格別な事は無いようにも思うのですが。


$ php -m では、readline は入っていました。日本語ではこれを試しました。


php > echo  "これが対話モードか!\n";

これが対話モードか!

php > $c = array('信二' => '', '' => '');

php > $cresult = array_values($c);

php > var_dump($cresult);


array(2) {

  [0]=>

  string(3) ""

  [1]=>

  string(3) ""

}


まあ、まだ大した事はしていませんが、だいたいこれで十分です。それで、phpもそうですが、python は知らない内にだいぶ様変わりしていたんですねえ。今凄く面食らっています。この調子だと、今年の年末は何かが起こりそうな予感!

*次の日の追記:Macでもダメなケースがあるようです。その場合、pythonのanacondaがインストールに失敗し、rails4.1.4をインストールした時、文字化けするような類いのメッセージが出ます。対処方法がちょっと分かりません。追加で、取り敢えず直しました。原因としてはMacPortsでruby2.1.2をインストールした事に起因していたようです。なので、brewをupdateし直して、rvmでrubyをインストールし直しました。(いつもやっている通り)pryはエラーが消えました。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。