AçıklamaKod-Golf: bir satır PHP sözdizimi
PHP onun sözdiziminde bazı delikler vardır ve bazen gelişiminde programcı onlarda adım olacaktır. Bu sözdizimi delikleri hiçbir sebepten yoksun gibi göründüğü için çok fazla hayal kırıklığına yol açabilir. Örneğin, bir dizi kolayca bir dizi oluşturamaz ve aynı dizide bu dizinin rasgele bir öğeye erişemez (func1()[100]
geçerli bir PHP sözdizimi değildir). Bu soruna yönelik geçici bir çözüm geçici bir değişken kullanmak ve bu ifadeyi iki satıra ayırmaktır, ancak bazen çok ayrıntılı, gizli kodlara yol açabilir.
Mücadelesi Ben bu deliklerin birkaç biliyor
(daha vardır eminim). Kod-golf tarzında bile olsa bir çözüm bulmak bile zor. Kazanan, dört Sözdizim Deliğinin tümü için en az karakterleri olan kişidir. $output = ...;
, ...
herhangi ;
's içermiyor:
Kurallar
- Beyanı bu formu bir çizgi olmalıdır.
- Sadece (hatta başarısız olduğu durumlarda) (izin yok özel işlevler veya
eval
) standart kütüphane fonksiyonlarını - Beyanı olmayan çalışma sözdizimi varsayılan fonksiyonel ile aynı çalışır kullanırlar.
- Açıklama,
E_STRICT | E_ALL
ile herhangi bir türde sözdizimi hatası olmadan çalıştırılmalıdır.
sözdizimi Delikler
$output = func_return_array()[$key];
- bir fonksiyonun döndürülen dizinin bir ofset keyfi (string
veyainteger
) erişmek$output = new {$class_base.$class_suffix}();
- rasgele bir dizge birleştirme yeni bir sınıf oluşturmak için kullanılan
$output = {$func_base.$func_suffix}();
- isteğe bağlı dize birleştirme işlevi olarak adlandırılıyor$output = func_return_closure()();
- bir kapatma diyoruz başka fonksiyonu
Dizi dereferencing (sizin 1. sözdizimi delik) zaten Felipe Pena tarafından gövdede taahhüt edilmiştir. – Artefacto
@Artefacto Bu harika bir haber! Duyduğum son fısıltılar göz ardı edildi. Bunun için bir bağlantın var mı? –
Bu alıştırmanın anlamsız olduğunu düşünüyorum. Daha az karakter daha net/daha verimli farklıdır. – Artefacto