82 lines
3.3 KiB
Markdown
82 lines
3.3 KiB
Markdown
|
---
|
||
|
title: I before E except after C
|
||
|
id: 5a23c84252665b21eecc7eb0
|
||
|
localeTitle: 5a23c84252665b21eecc7eb0
|
||
|
challengeType: 5
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id='description'>
|
||
|
La frase <a href="https://en.wikipedia.org/wiki/I before E except after C">"I antes de E, excepto después de C"</a> es una mnemotécnica muy conocida que se supone que ayuda cuando se deletrean palabras en inglés.
|
||
|
Usando las palabras proporcionadas, verifique si las dos sub-cláusulas de la frase son plausibles individualmente:
|
||
|
<ol><li style='margin-bottom: 5px;'> <i>"I antes de E cuando no está precedido por C".</i> </li><li> <i>"E antes que yo cuando está precedido por C".</i> </li></ol>
|
||
|
Si ambas subfrases son plausibles, entonces se puede decir que la frase original es plausible.
|
||
|
Escriba una función que acepte una palabra y verifique si la palabra sigue esta regla. La función debería devolver verdadero si sigue la regla de lo contrario falso.
|
||
|
</section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id='instructions'>
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: <code>IBeforeExceptC</code> debería ser una función.
|
||
|
testString: 'assert(typeof IBeforeExceptC=="function","<code>IBeforeExceptC</code> should be a function.");'
|
||
|
- text: <code>IBeforeExceptC("receive")</code> debe devolver un valor booleano.
|
||
|
testString: 'assert(typeof IBeforeExceptC("receive")=="boolean","<code>IBeforeExceptC("receive")</code> should return a boolean.");'
|
||
|
- text: <code>IBeforeExceptC("receive")</code> debe devolver <code>true</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("receive"),true,"<code>IBeforeExceptC("receive")</code> should return <code>true</code>.");'
|
||
|
- text: <code>IBeforeExceptC("science")</code> debe devolver <code>false</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("science"),false,"<code>IBeforeExceptC("science")</code> should return <code>false</code>.");'
|
||
|
- text: <code>IBeforeExceptC("imperceivable")</code> debe devolver <code>true</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("imperceivable"),true,"<code>IBeforeExceptC("imperceivable")</code> should return <code>true</code>.");'
|
||
|
- text: <code>IBeforeExceptC("inconceivable")</code> debe devolver <code>true</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("inconceivable"),true,"<code>IBeforeExceptC("inconceivable")</code> should return <code>true</code>.");'
|
||
|
- text: <code>IBeforeExceptC("insufficient")</code> debe devolver <code>false</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("insufficient"),false,"<code>IBeforeExceptC("insufficient")</code> should return <code>false</code>.");'
|
||
|
- text: <code>IBeforeExceptC("omniscient")</code> debe devolver <code>false</code> .
|
||
|
testString: 'assert.equal(IBeforeExceptC("omniscient"),false,"<code>IBeforeExceptC("omniscient")</code> should return <code>false</code>.");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function IBeforeExceptC (word) {
|
||
|
// Good luck!
|
||
|
}
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
|
||
|
```js
|
||
|
function IBeforeExceptC (word)
|
||
|
{
|
||
|
if(word.indexOf("c")==-1 && word.indexOf("ie")!=-1)
|
||
|
return true;
|
||
|
else if(word.indexOf("cei")!=-1)
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|