php 5.3.0 をインストールしたところ、<? などの短い開始タグを使用する php スクリプトは実行されず、<?PHP のみが実行されます。
php - PHP は省略形の使用を拒否しています」
php 5.3.0 をインストールしたところ、<? などの短い開始タグを使用する php スクリプトは実行されず、<?PHP のみが実行されます。
php 5.3.0 をインストールしたところ、<? などの短い開始タグを使用する php スクリプトは実行されず、<?PHP のみが実行されます。
キーワードとシンボルに関する Clojure のドキュメントは次のとおりです。
キーワードは、それ自体に評価される記号識別子です。それらは非常に高速な等価テストを提供します...
シンボルは、通常、何かを参照するために使用される識別子です。プログラム形式で使用して、関数パラメーター、let バインディング、クラス名、およびグローバル変数を参照できます...
キーワードは一般に、ハッシュマップのキーやマルチメソッドのディスパッチ値など、軽量の「定数文字列」として使用されます。シンボルは通常、変数や関数に名前を付けるために使用され、マクロなどを除いてそれらをオブジェクトとして直接操作することはあまり一般的ではありません。しかし、キーワードを使用するすべての場所で記号を使用することを妨げるものは何もありません (常に引用してもかまわない場合)。
Keyword.java
違いを確認する最も簡単な方法は、Symbol.java
Clojure ソースを読むことです。いくつかの明らかな実装の違いがあります。たとえば、Clojure の Symbol はメタデータを持つことができますが、Keyword はできません。
単一コロンの構文に加えて、二重コロンを使用して名前空間修飾キーワードを作成できます。
user> :foo
:foo
user> ::foo
:user/foo
Common Lisp には、Ruby や他の言語と同様にキーワードがあります。もちろん、これらの言語ではわずかに異なります。Common Lisp キーワードと Clojure キーワードの違い:
Clojure のキーワードはシンボルではありません。
user> (symbol? :foo) false
キーワードは、具体的に修飾しない限り、どの名前空間にも属しません。
user> (namespace :foo) nil user> (namespace ::foo) "user"
(注目すべきもののアイデアを提供してくれたRainer Joswigに感謝します。)
3 に答える
それは単に悪い習慣だからです。使用するすべてのスクリプトを再変換することをお勧めします<?php
。怠け者なら、検索と置換を使用できます。bash のような強力なコマンド ラインにアクセスできる場合は、sed を使用してこれを行うことができます。
http://us2.php.net/manual/en/ini.core.php
you need to
ini_set("short_open_tag", 1)
or adjust your systems php.ini file.