Dada una cadena, devuelve si la cadena es una subcadena del código fuente del programa.
Se aplican las reglas estándar de quine, lo que significa que no puede leer su propio código fuente. Se garantiza que la longitud de la entrada será menor o igual que la longitud del programa. Puede devolver dos valores distintos, no necesariamente valores de verdad y falsey. También puede enviar una función, en lugar de un programa completo.
Este es un código de golf, ¡el código más corto gana!
Un ejemplo
Si su código fuente es print(input() = False)
, debería devolver True para nt(i
pero False para tupn
.
code-golf
decision-problem
quine
caird coinheringaahing
fuente
fuente
Respuestas:
Python 2 , 41 bytes
Pruébalo en línea!
fuente
JavaScript , 25 bytes
Pruébalo en línea!
Personalmente no soy fanático de esto, pero está permitido .
Solución alternativa (¿no válida?), 19 bytes
Esto toma la entrada como una expresión regular.
Pruébalo en línea!
fuente
(Node.js)
? ¿No funciona también en los navegadores?Java 8,
124112 bytes (función)Pruébalo aquí
Aquí está el programa completo (para ver una de las razones por las cuales las funciones están permitidas en PPCG, porque algunos lenguajes, como Java, requieren un código obligatorio muy detallado para los programas completos).
Java 8,
226214 bytes (programa completo)Pruébalo aquí
Explicación:
String s
contiene el código fuente sin formato.%s
se utiliza para ingresar esta cadena en sí misma con els.format(...)
.%c
,%1$c
y34
se usan para formatear las comillas dobles.s.format(s,34,s)
lo pone todo juntoY luego
.contains(...)
se usa para verificar si este código fuente contiene la entrada dada.fuente
Bash,
43, 28 bytespruébalo en línea
fuente
typeset
formatea así AFAICT. Pruébalo en línea!$1
hacer?Haskell , 92 bytes
Pruébalo en línea! Extensión obvia de la quine estándar. Deshacerse de la importación sería bueno, pero dudo que
isInfixOf
pueda calcularse en una cantidad menor de bytes.fuente
Wolfram Language (Mathematica) , 33 bytes
Pruébalo en línea!
fuente
QBIC , 28 bytes
Esto imprime 0 si la entrada no es una subcadena de la fuente y X, de lo contrario, donde X es el (primer) índice de la subcadena.
Explicación
#
define un literal de cadena en QBIC y lo asigna a la primera variable de cadena disponible. Eso estáB$
en este programa, porqueA$
ya está tomado por;
(lea una cadena de la línea cmd). Entonces, todo hasta el delimitador se alimenta al literal; el delimitador es un backtick, lo que también lo convierte en el único carácter ASCII que no se incluye en las cadenas de caracteres. En este caso, QBIC no necesita un retroceso, porque el literal se termina al final del código por la función de cierre automático de QBIC. Para obtener más información sobre los literales de QBIC, vea el hilo Showcase .fuente
A
en este contexto?B
y se agrega una explicación.Jalea , 10 bytes
Pruébalo en línea!
Cómo funciona
fuente
Julia, 72 bytes
Ahora entiendo lo que la gente quiere decir cuando dice que los problemas de quine son solo variaciones del quine clásico.
Explicación
fuente
Perl 5, 60 + 2 (-pl) bytes
pruébalo en línea
fuente
05AB1E , 17 bytes
La modificación de la forma predeterminada quine
0"D34çý"D34çý
añadiendoIå
.Pruébalo en línea.
Explicación:
fuente