Imagínese esto, tenemos un entorno con un alcance global que contiene un solo objeto, llamado codegolf. Este objeto tiene un solo hijo llamado stackexchange, que tiene una propiedad llamada com.
El acceso a esta propiedad se vería así codegolf.stackexchange.com.
El reto
La entrada de su programa / función será una cadena que intenta acceder a una propiedad en el ámbito global. Siempre que se encuentre esta propiedad, deberá imprimir / devolver un valor verdadero. Si no se encuentra la propiedad, se imprimirá / devolverá un valor falso. El problema: cuando intentas acceder a una propiedad en un objeto no existente, tu programa debería arrojar cualquier tipo de error¹.
Para hacer las cosas un poco más fáciles, puede suponer que la entrada siempre será [a-z.], nunca estará vacía, nunca tendrá repeticiones .y nunca comenzará o terminará con a .. Entonces codegolf.es una entrada inválida.
Casos de prueba
codegolf.stackexchange.com => 1 // or any other truthy value
codegolf.stackexchange.net => 0 // or any other falsy value
codegolf.stackexchange => 1
codegolf.foo => 0
codegolf => 1
foo => 0
codegolf.com => 0
codegolf.constructor => 0
codegolf.foo.bar => Error (since foo is undefined)
codegolf.stackexchange.com.foo => Error (since com is a value, not an object)
codegolf.stackexchange.com.foo.bar => Error
foo.stackexchange.com => Error
foo.bar => Error
foo.bar.baz => Error
Este es el código de golf , el código más corto en bytes gana
¹ si (y sólo si) el idioma de su elección no admite errores en absoluto , debe algo de salida que deja claro que esto es un error. Por ejemplo, si usa 1 para verdadero y 0 para falso, puede usar "e" para un error. Sea consistente en sus valores de retorno y explique el comportamiento en su publicación.
codegolf.coma los casos de prueba para descartar codegolf(.stackexchange)?(.com)?$verificaciones de tipo
foo.stackexchange.com
foovolvería undefined, pero no arrojaría un error. foo.bararrojaría un error porque foono está definido.
codegolf.foo => 0, De modo foo => 0.
foo => Errorque sería más apropiado.