| |
 | Posted by Ali Çehreli in reply to Salih Dincer | Permalink Reply |
|
Ali Çehreli 
Posted in reply to Salih Dincer
| Şunları karaladık:
/*
DDili sohbet - 12 Haziran 2022
- dmd 2.100
- DConf ve BeerConf
- "Why is D unpopular?" gibi konular
- async/await
- Dizi tanımı söz dizimi
*/
/+
struct S {
int i;
int j;
invariant() {
assert(i == 10 * j);
}
}
version (D_PreConditions) {
import std.format;
}
void foo(int i)
in (i > 42, format!"i yanlış: %s"(i))
{
}
void bar(int i)
in (i <= 42, format!"i yanlış: %s"(i))
{
}
void main() {
}
+/
/+
@mustUse
struct Hata {
int kod;
}
Hata foo() {
return Hata(42);
}
void main() {
foo();
}
+/
/+
import std.traits;
import std.stdio;
auto çiftle(T)(T değer)
if (isIntegral!T) {
return 2 * değer;
}
auto çiftle(T)(T değer)
if (isSomeString!T) {
return değer ~ değer;
}
void main() {
writeln(5.çiftle);
writeln("hello".çiftle);
}
+/
// Go ile Brand X'in karşılaştırılması:
// http://cowlark.com/2009-11-15-go/
/+
import std.stdio;
import std.array;
import std.exception;
struct Yumurta {
// invariant() { // Error
// }
}
Yumurta[] sepet;
Yumurta yumurtaSeç() {
// Error
// assert(!sepet.empty, "Yumurta kalmamış.");
// Exception
enforce(!sepet.empty, "Yumurta kalmamış.");
// enforce'un aynısı
// if (sepet.empty) {
// throw new Exception("Yumurta kalmamış.");
// }
auto y = sepet.front;
sepet.popFront();
return y;
}
struct Tabak {}
Yumurta[] sote;
static this () {
sote.length = 10;
}
Tabak yumurtaYap() {
auto y = {
try {
return yumurtaSeç();
} catch (Exception exc) {
writeln("Yumurta kalmamış; gizliden kullanıyorum.");
auto y = sote.front;
sote.popFront();
return y;
}
}();
// ...
return Tabak();
}
void program() {
Tabak tabak = yumurtaYap();
writeln(tabak);
}
int main() {
try {
program();
} catch (Exception hata) {
stderr.writefln!"HATA: %s"(hata.msg);
return 1;
}
return 0;
}
// https://medium.com/hackernoon/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5
+/
/+
import std;
import core.thread;
void işçiImpl(size_t i) {
while (true) {
ownerTid.send(i);
Thread.sleep(10.msecs);
const r = uniform(0, 5);
assert(r != 3);
}
}
void işçi(size_t i) {
try {
işçiImpl(i);
} catch (Exception exc) {
ownerTid.send(cast(shared)exc);
} catch (Error err) {
puts("Error oldu.");
import core.stdc.stdlib;
exit(1);
}
}
void main() {
enum n = 4;
iota(n).each!(i => spawnLinked(&işçi, i));
size_t sonlanan;
while (sonlanan < n) {
receive(
(const(LinkTerminated) msg) {
++sonlanan;
},
(const(Exception) exc) {
writeln("Hata: ", exc.msg);
},
(size_t i) {
writeln(i);
});
}
}
+/
/+
import std;
void main() {
int[3] arr = [ 1, 2, 3 ];
foreach (i, e; arr) {
writeln(i, " - ", e);
}
auto r = arr.each!(e => e * 10);
}
+/
/+
import std.stdio;
import std.range;
import std.algorithm;
import std.functional;
void printWithLineNumbers(File f)
{
// f.byLine
// .enumerate
// .each!(bind!((num, line) {
// writefln("%8d %s", num, line);
// }));
// f.byLine
// .enumerate
// .each!(t => writefln("%8d %s", t[0], t[1]));
f.byLine
.enumerate
.each!(t => writefln("%8d %s", t.index, t.value));
}
void main() {
printWithLineNumbers(stdin);
}
+/
/+
import std;
void main() {
int[2][3] a1;
auto a2 = new int[2][3];
// auto a3 = new int[][](3, 2);
/*
length
ptr
length
ptr
length
ptr
*/
a1[2][1] = 42;
a2[2][1] = 42;
// a3[2][1] = 42;
writeln(a1);
writeln(a2);
// writeln(a3);
}
+/
Ali
|