traduccion prueba marillion libro juego genetica animado fish

marillion - fish prueba



Prueba de igualdad de cuerdas/comparaciĆ³n de cuerdas en concha de pescado? (2)

¿Cómo se comparan dos cadenas en Fish (como "abc" == "def" en otros idiomas)?

Hasta ahora, he usado una combinación de contains (resulta que contains "" $a solo devuelve 0 si $a es la cadena vacía, aunque eso no pareció funcionar en todos los casos) y switch (con un case "what_i_want_to_match" y un case ''*'' ). Ninguno de estos métodos parece particularmente ... correcto, sin embargo.


Algunas veces quiere verificar cadenas vacías o variables indefinidas , que son falsas en el pescado.

set hello "world" set empty_string "" set undefined_var # Expands to empty string if [ $hello ] echo "not empty" # <== else echo "empty" end if [ $empty_string ] echo "not empty" else echo "empty" # <== end if [ $undefined_var ] echo "not empty" else echo "empty" # <== end

También puede usar la test lugar de [ .

Un ejemplo práctico es verificar si estás en una sucursal git.

function git_branch echo (command git symbolic-ref HEAD ^/dev/null | sed -e ''s|^refs/heads/||'') end set --local branch_name (git_branch) if [ $branch_name ] echo "$branch_name branch checked out" else echo "not in a git repo" end


if [ "abc" != "def" ] echo "not equal" end not equal if [ "abc" = "def" ] echo "equal" end if [ "abc" = "abc" ] echo "equal" end equal

o un trazador de líneas:

if [ "abc" = "abc" ]; echo "equal"; end equal