Počítačová hra Factorio (Wikipedie) nově běží nativně na ARM64 Linuxu a headsetu Steam Frame.
Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.
… více »Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).
Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své
… více »Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.
Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.
Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.
Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.
class Aaa {
private $aaa;
public function __construct() {
$this->aaa = new Bbb();
}
function __toString() {
return $this->aaa;
}
}
Třída Bbb
class Bbb {
private $bbb;
public function __construct() {
$this->bbb = 'Výsledek';
}
function __toString() {
return $this->bbb;
}
}
Vytvořím instanci třídy Aaa ale dostanu chybu!
echo new Aaa(); // Method Aaa::__toString() must return a string valueZjistil jsem, že když ve tříde Aaa opravím řádek
$this->aaa = new Bbb();za
$this->aaa .= new Bbb();tak to funguje. Proč tomu tak je však nedokážu nějak pochopit, vždyť nic nespojuji, tak proč tečka? Poradí někdo? Děkuji
__toString() musi vracet string.
Takze v tride Aaa predelej metodu __toString() takto:
function __toString() {
return strval($this->aaa);
}
= a .=? Prvni je prirazeni, druhy je zkraceny zapis concatenace stringu.
$this->aaa .= new Bbb();by se tedy dalo zapsat take takto:
$this->aaa = $this->aaa . new Bbb();No a pri concatenaci dochazi k prevodu na string, takze se na instanci
new Bbb() zavola metoda __toString()
$this->aaa nemas zadny vysledek, mas tam instanci tridy Bbb. Metoda __toString() se vola jen v pripade, ze je potreba z te instance udelat string.
Musíš nějak vynutit konverzi na řetězec a pomocí .= jsi provedl $this->aaa = $this->aaa . new Bbb();.
Já mám otázku: »Co vás lidi, tedy fčul Tebe, prosím Tě vede k tomu to používat takto (používat __toString())?«
To se musí někde líhnout tyto nápady a musí to mít nějaký důvod :).
class Aaa {
private $aaa;
public function __construct() {
$this->aaa = false;
$this->aaa .= '<ul>';
$this->aaa .= '<li>aaa</li>';
$this->aaa .= '<li>bbb</li>';
$this->aaa .= '<li>ccc</li>';
$this->aaa .= '</ul>';
}
}
$aaa = new Aaa();
echo $aaa;
A k čemu je taková třída?
Dobře, bude to „výkonná“ třída:
<?php
class Aaa {
static public function getListStatic() {
$o = '
class Aaa
{
private $o;
public function __construct()
{
$this->o = '$o = new Aaa(); echo $o; # Výsledek aaa bbb ccc
Tiskni
Sdílej: