4D jazyk: Vylepšení, která jste požadovali, jsou zde

Automaticky přeloženo z Deepl

Sníte o tom, že budete používat vyhodnocování zkratek, ternární operátory, uvolnění ze smyčky nebo ukončení metody pomocí jednoduchého klíčového slova?

Tak už o tom nesněte! Naslouchali jsme a sledovali vaše požadavky na funkce z Fóra 4D, takže přichází sada vylepšení jazyka 4D, která vám pomohou zjednodušit váš kód.

return, continue a break

Přidáváme 2 nové příkazy, které vám umožní vyskočit z bloku kódu:

  • Příkaz return Klíčové slovo ukončí provádění metody nebo funkce, ve které se objevuje, a vrátí řízení volající metodě. Může také vracet nepovinnou hodnotu:
function factorial ( $n : Integer) : Integer
  
If ($n<1)
  return 1
Else 
  return $n*factorial($n-1)
End if 
  • Na adrese . break klíčové slovo ukončí smyčku, která ho obsahuje. Následující vykonaný příkaz je ten, který následuje bezprostředně za tělem smyčky:
For ($i; 1; 100)
   If ($myTab{$i}="")
      break
   End if 
End for
If ($i<101)
   // your code
End if
  • . continue příkaz ukončí provádění příkazů v aktuální iteraci aktuální smyčky a pokračuje ve vykonávání smyčky další iterací:
For ($i; 0; 10)
   If ($i=3)
      continue
   End if
   $text+=String($i)
End for
// $text="012456789" 

vyhodnocení zkratu

Ve výrazu, který používá operátor AND nebo OR, znamená zkrácené vyhodnocení, že druhý argument se provede nebo vyhodnotí pouze v případě, že první argument nestačí k určení hodnoty výrazu. K tomu jsme přidali dva nové operátory:

  • && pro operátor AND:
  • || pro operátor OR

Tento nový způsob zápisu operátorů AND a OR umožňuje zapsat tento typ testu na jeden řádek:

if (($myColl.length>0) && ($myColl[$i]>10))
	// your code
End if 

Pokud je $myColl prázdný, druhý argument se neprovede, takže se nevyhodí žádná chyba.

Všichni tedy samozřejmě snadno pochopíte zajímavost tohoto stylu zápisu, aby byl váš kód čitelnější. Umožňuje vám však jít ještě dál.

Když napíšete expr1 && expr2 nebo expr1 || expr2, 4D vyhodnotí oba výrazy truthy nebo falsy povahu. Níže uvedené hodnoty jsou považovány za falsy:

  • false
  • Null
  • undefined
  • Null objekt
  • Null kolekce
  • Null ukazatel
  • Null obrázek
  • Null datum
  • „“ – Prázdné řetězce
  • [] – Prázdné kolekce
  • {} – Prázdné objekty

Všechny ostatní hodnoty jsou považovány za truthy.

Operátor || vrací první výraz, pokud je první výraz truthy, v opačném případě vrací druhý výraz.

Operátor && vrací první výraz, pokud první výraz je falsy, v opačném případě vrací druhý výraz.

Například níže uvedený kód nevrací boolean, ale číselnou hodnotu:

$salary:= $employee.salary || $minSalary

$employee.salary se vyhodnotí jako první. Pokud jeho výsledek není Null, je považován za truthy a je vrácen.

Pokud $employee.salary je Null, a tedy i . falsy, vyhodnotí se druhý výraz($minSalary) a vrátí se jeho výsledek.

Operátory složeného přiřazení

Operátory složeného přiřazení jsou zjednodušenou formou zápisu operací:

  • Operátor přiřazení sčítání (+=) přičte hodnotu pravého operandu k proměnné a výsledek přiřadí proměnné.
$a+=5  
 // equals to $a:=$a+5
  • Operátor přiřazení odečtení (-=) odečte hodnotu pravého operandu od proměnné a výsledek přiřadí proměnné.
$s-=5 
// equals to $s:=$s-5
  • Operátor přiřazení dělení (/=) dělí proměnnou hodnotou pravého operandu a výsledek přiřadí proměnné.
$d/=2 
// equals to $d:=$d/2
  • Operátor přiřazení násobení (*=) násobí proměnnou hodnotou pravého operandu a výsledek přiřadí proměnné.
$m*=5 
// equals to $m:=$m*5

Ternární operátor

Třísložkový operátor je podmínka, za kterou následuje otazník ( ? ), výraz, který se vyhodnotí, pokud je podmínka truthy, za kterým následuje dvojtečka ( : ). A nakonec výraz, který se vyhodnotí, pokud je podmínka falsy: podmínka ? hodnota If True : hodnota If False.

Můžete například napsat:

$label:=($size>1000) ? "big" : "small" 

Ternární operátor je velmi podobný příkazu Choose s tím rozdílem, že Choose přijímá jako podmínku pouze logický výraz, zatímco ternární operátor přijímá všechny typy a testuje jejich falsy a truthy stav.

Více informací naleznete zde.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.