Arka fon
Octave'in (ve ek olarak MATL'nin), truthy / falsy matrislerinin çok rahat bir şekilde yorumlanmasından esinlenen Jelly, Octa (Octave tarzı hepsi ) atomunu aldı.
Ȧ dizi boşsa ve dizi boş değilse ve ağaç yapısının herhangi bir yerinde 0 sayısını (tam sayı, kayan nokta veya karmaşık) içermiyorsa 1 değerini döndürür ; Aksi takdirde, 0 döndürür .
Örneğin, [[]] dizisi boş çünkü boş değil ve sıfır içermiyor, ancak [[0]] sahtedir, çünkü en iç düzeyde 0 içerir .
Görev
Seçtiğiniz bir programlama dilinde , tam bir program veya girdi olarak muhtemel olarak boş, muhtemelen pürüzlü bir tamsayı dizisi alan ve Ȧ'nin sırasıyla 1 veya 0 değerini döndürüp döndürmeyeceğini belirten bir gerçeği veya sahte değeri döndüren bir işlev yazın .
Gönderiminiz aşağıdaki kurallara uymalıdır.
Truthy ve falsy değerleri tüm girdiler için tutarlı olmalıdır; yani, Ȧ 1 döndüren tüm diziler aynı truthy değerine eşlenmeli ve Ȧ 0 döndüren tüm diziler aynı falsy değerine eşlenmelidir.
Tam programlar dizilerin yalnızca girdi olarak dizgi gösterimlerini alabildiğinden, buna izin verilir. Bununla birlikte, dilin
repr
veya benzerinin döndürdüğü gibi, kanosik gösterimini kullanmanız gerekir .Özellikle, dizinin ilk öğesinin bir boşluktan önce geleceğini varsayamazsınız.
Diliniz (ve yalnızca) diliniz doğal olarak tırtıklı dizileri temsil edemezse, önceden var olan herhangi bir programlama diline ait kanonik sözdizimini kullanarak girişin bir dize gösterimini alabilirsiniz.
Dilinizde tırtıklı dizileri (örneğin listeler ve tuples) temsil etmenin birkaç yolu varsa, bunlardan yalnızca birini desteklemeniz gerekir.
Dilinizde yerleşik olan, bu zorluğa dahil olan geçerli bir başvuru ise, cevabınızda kullanamazsınız . Diğer tüm yapılara izin verilir.
Biri diğerinden önemli ölçüde kısa olsa bile, hem dizi hem de dize manipülasyonunu kullanarak cevap göndermeniz teşvik edilir.
Tüm standart kod golf kuralları geçerlidir.
Bayt cinsinden en kısa kod kazanabilir!
Truthy test durumları
[1]
[10]
[[]]
[[[[1]]]]
[[], [1], [1, 2]]
[[1], [1, [2]], [1, [2, [3]]]]
[[8], [8, [9]], [8, [9, [10]]]]
Sahte test durumları
[]
[0]
[0, -1]
[-1, 0]
[[[[0]]]]
[[0], [1, 2], [3, 4, 5]]
[[8], [8, [9]], [8, [9, [1, 0]]]]
[-1, 0, 0, 0]
Object
... benim favorim Haskell, olmadığı yerde. C de, en azından dizileri ve girişleri güvenle karıştırmanıza izin verecek şekilde değil. Bu dillerin her ikisi de pürüzlü dizileri mükemmel biçimde yapabilir, ancak yine de bu sorun için kullanamazlar.