funzy funz-fun - wirr & weired in the kopp - Part II
Waidä gäädz ...
julia> store = Int[];
julia> reduce((x,y) -> (push!(store, x * y); y), 1:10)
10
julia> store
9-element Array{Int64,1}:
2
6
12
20
30
42
56
72
90
julia> (x,y) -> (push!(store, x * y); y), 1:10
(getfield(Main, Symbol("##19#20"))(), 1:10)
julia> reduce((x,y) -> (println(x * y);y), 1:10)
2
6
12
20
30
42
56
72
90
10
(Das habe ich noch nicht richtig kapiert! Vielleicht fällt der Groschen ein andermal …)
julia> reduce(-, 1:10)
-53
julia> foldl(-,1:11)
-64
julia> foldr(-,1:11)
6
julia> reduce((x, y) -> sqrt(x), 1:4, init=256)
1.4142135623730951
julia> sqrt(sqrt(sqrt(sqrt(256))))
1.4142135623730951
(Eine Art Rekursion, soweit hab’ ich’s jetzt. Hope, I got it right.)
julia> function create_exponent_function(x)
newfunction = function (y) return y^x end
return newfunction
end
create_exponent_function (generic function with 1 method)
julia> squarer = create_exponent_function(2)
#34 (generic function with 1 method)
julia> cuber = create_exponent_function(3)
#34 (generic function with 1 method)
julia> quader = create_exponent_function(4)
#34 (generic function with 1 method)
julia> squarer(4)
16
julia> cuber(5)
125
julia> quader(6)
1296
(Eine neue Funktion mit einer Funktion erzeugen. Ich glaube, danach hatte ich bei Perl mal lange gesucht … oder nach iwas ähnlichem …)
julia> make_counter = function()
so_far = 0
function()
so_far += 1
end
end
#36 (generic function with 1 method)
julia> aa = make_counter()
#37 (generic function with 1 method)
julia> bb = make_counter()
#37 (generic function with 1 method)
julia> bb
#37 (generic function with 1 method)
julia> bb()
1
julia> aa()
1
julia> aa()
2
julia> bb()
2
julia> bb()
3
julia> bb()
4
julia> aa()
3
julia> function make_counter_2()
so_far = 0
counter = function()
so_far += 1
return so_far
end
return counter
end
make_counter_2 (generic function with 1 method)
julia> a = make_counter2()
ERROR: UndefVarError: make_counter2 not defined
Stacktrace:
[1] top-level scope at REPL[140]:1
julia> a = make_counter_2()
#42 (generic function with 1 method)
julia> a
#42 (generic function with 1 method)
julia> a()
1
julia> a()
2
julia> for i in 1:10
a()
end
julia> a()
13
julia> a()+
)
ERROR: syntax: unexpected ")"
Stacktrace:
[1] top-level scope at REPL[145]:0
julia> a()
14
(Tüppfehler lasse ich teilweise drinne.Y not?)
julia> (sqrt ∘ *)(3,6)
4.242640687119285
julia> (cos ∘ sqrt ∘ *)(3,6)
-0.4526618572923528
julia> map(first ∘ reverse ∘ uppercase, split("you can compose functions like this"))
6-element Array{Char,1}:
'U'
'N'
'E'
'S'
'E'
'S'
So geht also was:
julia> function dreierreiher(x,y,z)
ergebnis = 4*x + 3*y - 2*z
return ergebnis
end
dreierreiher (generic function with 1 method)
julia> function gutentach(a)
println("Guten Tach, Ergebnis!")
println("Dein Name sei: ", a, "!")
end
gutentach (generic function with 1 method)
julia> function aha(w)
println("Aha, aha, aha!")
end
aha (generic function with 2 methods)
julia> methods(aha)
# 2 methods for generic function "aha":
[1] aha() in Main at REPL[169]:2
[2] aha(w) in Main at REPL[171]:2
(Nachgetragen. Funktion wurde zuvor mit aha() versucht zu definieren, was fehlschlug; deshalb hier nicht aufgeführt gewesen. Die Methode ist aber - wie ersichtlich - erhalten geblieben.)
julia> methods(aha)
# 2 methods for generic function "aha":
[1] aha() in Main at REPL[169]:2
[2] aha(w) in Main at REPL[171]:2
(Nachgetragen. Funktion wurde zuvor mit aha() versucht zu definieren, was fehlschlug; deshalb hier nicht aufgeführt gewesen. Die Methode ist aber - wie ersichtlich - erhalten geblieben.)
julia> (aha ∘ gutentach ∘ dreierreiher)(4,5,6)
Guten Tach, Ergebnis!
Dein Name sei: 19!
Aha, aha, aha!
julia> (aha ∘ gutentach ∘ dreierreiher)(44,45,46)
Guten Tach, Ergebnis!
Dein Name sei: 219!
Aha, aha, aha!
julia> function maldrei(e)
f = e*3
return f
end
maldrei (generic function with 1 method)
julia> (aha ∘ gutentach ∘ maldrei ∘ dreierreiher)(44,45,46)
Guten Tach, Ergebnis!
Dein Name sei: 657!
Aha, aha, aha!
julia> 1:10 |> sum |> sqrt
7.416198487095663
julia> dreierreiher(66,55,44) |> maldrei
1023
julia> gutentach(maldrei(78))
Guten Tach, Ergebnis!
Dein Name sei: 234!
julia> gutentach(maldrei(78))
Guten Tach, Ergebnis!
Dein Name sei: 234!
julia> dreierreiher(66,55,44) |> maldrei |> gutentach
Guten Tach, Ergebnis!
Dein Name sei: 1023!
julia> dreierreiher(66,55,44) |> maldrei |> gutentach |> aha
Guten Tach, Ergebnis!
Dein Name sei: 1023!
Aha, aha, aha!
julia> collect(1:9) |> n -> filter(iseven,n)
4-element Array{Int64,1}:
2
4
6
8
julia> function check_longitude_1(loc)
if -180 < loc < 180
println("longitude $loc is a valid longitude")
else
println("longitude $loc should be between -180 and 180 degrees")
end
end
check_longitude_1 (generic function with 1 method)
julia> check_longitude_1(-182
)
longitude -182 should be between -180 and 180 degrees
julia> check_longitude_1(-18)
longitude -18 is a valid longitude
julia> check_longitude_1("1°24'54.6\"W")
ERROR: MethodError: no method matching isless(::Int64, ::String)
Closest candidates are:
isless(::Missing, ::Any) at missing.jl:66
isless(::Real, ::AbstractFloat) at operators.jl:157
isless(::Real, ::Real) at operators.jl:346
...
Stacktrace:
[1] <(::Int64, ::String) at ./operators.jl:268
[2] check_longitude_1(::String) at ./REPL[187]:2
[3] top-level scope at REPL[190]:1
julia> function check_longitude(loc::Real)
if -180 < loc < 180
println("longitude $loc is a valid longitude")
else
println("longitude $loc should be between -180 and 180 degrees")
end
end
check_longitude (generic function with 1 method)
julia> check_longitude_1(-18)
longitude -18 is a valid longitude
julia> check_longitude_1("1°24'54.6\"W")
ERROR: MethodError: no method matching isless(::Int64, ::String)
Closest candidates are:
isless(::Missing, ::Any) at missing.jl:66
isless(::Real, ::AbstractFloat) at operators.jl:157
isless(::Real, ::Real) at operators.jl:346
...
Stacktrace:
[1] <(::Int64, ::String) at ./operators.jl:268
[2] check_longitude_1(::String) at ./REPL[187]:2
[3] top-level scope at REPL[193]:1
julia> applicable(check_longitude, "1°24'54.6\"W")
false
julia> applicable(check_longitude, 22//7)
true
julia> methods(check_longitude)
# 1 method for generic function "check_longitude":
[1] check_longitude(loc::Real) in Main at REPL[191]:2
julia> function check_longitude(loc::String)
# not real code, obviously!
if endswith(loc, "W")
println("longitude $loc is West of Greenwich")
else
println("longitude $loc is East of Greenwich")
end
end
check_longitude (generic function with 2 methods)
julia> methods(check_longitude)
# 2 methods for generic function "check_longitude":
[1] check_longitude(loc::String) in Main at REPL[197]:3
[2] check_longitude(loc::Real) in Main at REPL[191]:2
julia> methods(+)
# 161 methods for generic function "+":
[1] +(x::Bool, z::Complex{Bool}) in Base at complex.jl:278
[2] +(x::Bool, y::Bool) in Base at bool.jl:96
[3] +(x::Bool) in Base at bool.jl:93
[4] +(x::Bool, y::T) where T<:AbstractFloat in Base at bool.jl:104
[5] +(x::Bool, z::Complex) in Base at complex.jl:285
[6] +(a::Float16, b::Float16) in Base at float.jl:392
[7] +(x::Float32, y::Float32) in Base at float.jl:394
[8] +(x::Float64, y::Float64) in Base at float.jl:395
[9] +(z::Complex{Bool}, x::Bool) in Base at complex.jl:279
...
[160] +(J::LinearAlgebra.UniformScaling, A::AbstractArray{T,2} where T) in LinearAlgebra at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.2/LinearAlgebra/src/uniformscaling.jl:117
[161] +(a, b, c, xs...) in Base at operators.jl:529
julia> function check_longitude(loc::Any)
println("longitude $loc should be a string or a number")
end
check_longitude (generic function with 3 methods)
julia> methods(check_longitude)
# 3 methods for generic function "check_longitude":
[1] check_longitude(loc::String) in Main at REPL[197]:3
[2] check_longitude(loc::Real) in Main at REPL[191]:2
[3] check_longitude(loc) in Main at REPL[200]:2
julia> function test(a::T) where T <: Real
println("$a is a $T")
end
test (generic function with 1 method)
julia> test(2.3)
2.3 is a Float64
julia> test(5)
5 is a Int64
julia> test(.02)
0.02 is a Float64
julia> test(pi)
π is a Irrational{:π}
julia> test(11//25)
11//25 is a Rational{Int64}
julia> test(11//33)
1//3 is a Rational{Int64}
julia> test(ßxff)
ERROR: UndefVarError: ßxff not defined
Stacktrace:
[1] top-level scope at REPL[209]:1
julia> test(0xff)
255 is a UInt8
julia> findodds([1, 2, 3, 4, 5, 6, 7, 8, 9.0, 10])
ERROR: MethodError: no method matching findodds(::Array{Float64,1})
Closest candidates are:
findodds(::Array{T<:Integer,1}) where T<:Integer at REPL[211]:2
Stacktrace:
[1] top-level scope at REPL[213]:1
julia> findodds([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
5-element Array{Int64,1}:
1
3
5
7
9
Feddisch!!!!!
Das alles haben wir uns nun hoffentlich auch alle behalten.¹¹
¹¹ Wenn nicht, gibt's Faust!²²
²² Entsprechend der modernen Gepflogenheiten.³³
³³ Die sich immer weiter über den umsrigen, kleinen Erdball ausbreiten.¹¹¹
¹¹¹ Ätsch! Nix weiter.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ein bissi Linkgestrüpp
Jeremy Corbyn: Der Marxist kurz vor der Macht Musikerin gegen Modekette: Ariana Grande verklagt Forever 21 Brexit Live-Ticker: Boris Johnson fordert Neuwahlen am 15. Oktober - SPIEGEL ONLINE Freistetters Formelwelt: Wie hoch die Wolken steigen - Spektrum der Wissenschaft Bewerber-Paare für den SPD-Parteivorsitz diskutieren in Saarbrücken AfD nennt sich "bürgerlich": Das ist Bürgerbeleidigung - Debattenbeitrag - SPIEGEL ONLINE Brexit: Britisches Unterhaus nimmt Gesetz gegen No-Deal-Brexit an - WELT Seite 2 - Ministerposten vergeben: Italiens neue Regierung steht Ministerposten vergeben: Italiens neue Regierung steht Beruf Geldgestalter: "Geld muss ehrlich und seriös aussehen, nicht kitschig" - SPIEGEL ONLINE (2) The Beloved - Sweet Harmony - YouTube LIVE – Klatsche für Boris Johnson: Unterhaus will Brexit-Aufschub - Politik Ausland - Bild.de SPD: Simone Lange und Alexander Ahrens verzichten auf Kandidatur - SPIEGEL ONLINE Bahamas – Wikipedia Radrennen: Polizei entdeckt bei Live-Übertragung eine Cannabis-Plantage - WELT Caparros-Rücktritt nach Herzinfarkt: Manager sind gesünder Mittleres Management: Die Sandwich-Position ist noch verhasster als gedacht Brexit als Sittengemälde: Schlacht von London - SPIEGEL ONLINE Was Boris Johnson gefährlich macht Hypatia – Wikipedia Hypatia: Christen rissen ihr die Kleider vom Leib und enthäuteten sie - WELT Brexit: Boris Johnson braucht für Neuwahl Stimmen der Opposition - WELT Tinnitus: Wenn Stille gefährlich wird - derStandard.at Die besten Kündigungsbriefe - manager magazin - Unternehmen Wie Nachbarn Rahel Renate Mann vor der SS versteckten - SPIEGEL ONLINE SPD-Rennen um den Parteivorsitz: Genossen starten Castingtour - SPIEGEL ONLINE Brexit-Abstimmung: Gesetz gegen No Deal nimmt weitere Hürde | ZEIT ONLINE Hongkong: China stützt ausdrücklich Regierungschefin Carrie Lam | ZEIT ONLINE Regierungsbildung in Italien: Luigi Di Maio soll neuer Außenminister werden | ZEIT ONLINE Regime: Warum Diktatoren so lange an der Macht bleiben - WELT Deutscher Modefotograf Peter Lindbergh ist tot Jacob Rees-Mogg provoziert mit Nickerchen in Brexit-Debatte Existenz Bielefelds: Eine Millionen Euro Preisgeld für den Beweis Umwelt: Plastiksteine verschmutzen Küstengebiete - news.ORF.at Fünf Jahre "Putin-Sanktionen": Lebensmittelpreise in Russland explodieren - n-tv.de Rebecca Reusch: Polizei sucht auch heute wieder In Brandenburg | Regional | BILD.de Romano-Lukas Hitlers: Hitler hat meine Tochter belästigt - Dresden - Bild.de Brexit: Boris Johnson schlägt Neuwahl für den 15. Oktober vor (K)ein Romeo für Julia: Und zum Schluss gibt‘s ein Happy End - Erotik - Bild.de BLICK: Nachrichten und Schlagzeilen aus der Schweiz und aller Welt Wie Israel mit „Saurons Auge“ die Energiewende meistern will Madrid: Die neue Dachterrasse des Edificio España zieht Menschenmassen an Hongkong: Aktivist Joshua Wong bittet Angela Merkel um Hilfe - SPIEGEL ONLINE Fische auf der Flucht vor der Klimaerhitzung - derStandard.at Iran-Konflikt: USA verhängen Sanktionen gegen iranisches Raumfahrtprogramm | ZEIT ONLINE Atomabkommen: Mit dem Iran ist nur noch schwer ins Gespräch zu kommen | ZEIT ONLINE Iran-Konflikt: USA verhängen Sanktionen gegen iranisches Raumfahrtprogramm | ZEIT ONLINE
Alice Weidel: AfD-Chefin wohnt wieder in der Schweiz - so regieren Bürger - FOCUS Online Hamburg: Überraschende Liebes-Bombe: Schauspieler Jürgen Vogel schwebt im 7. Himmel - FOCUS Online Michael Kretschmer begeistert mit Anti-AfD-Kurs Konservative für CDU - FOCUS Online Polizeidirektion Neuwied/Rhein: Diebstahl einer Kiste Bier - FOCUS Online FDP-Chef Christian Lindner im Interview: "Vielleicht sind wir manchmal zu ängstlich" - SPIEGEL ONLINE Hongkong: Angela Merkel reist nach China - Videoanalyse -Video - SPIEGEL ONLINE Boris Johnson: Rassismusvorwürfe von Tanmanjeet Singh Dhesi -Video - SPIEGEL ONLINE Italien: Neue Regierung auf Europakurs - SPIEGEL ONLINE Markus Lanz grillt Alexander Gauland: "Das ist albern, das ist albern" | STERN.de Hanks Welt: Ohne Frauen läuft nichts Die Deutschen sind so optimistisch wie seit 25 Jahren nicht mehr - FOCUS Online Vier-Seiten-Modell – Wikipedia Trotz Kooperationsverbots: CDU und AfD arbeiten in Frankenstein zusammen Hongkong: Warum die Aktivisten auf Merkel hoffen Wie Perry Farrell Lollapalooza erfand und David Bowie verärgerte - SPIEGEL ONLINE Regierungsbildung in Italien: Ein bisschen Euphorie - taz.de Brexit-Verhandlung im Live-Ticker: Wie geht es in Westminister weiter? - SPIEGEL ONLINE Erkelenz (NRW): Hypnotiseur wollte mit willenloser Frau „Porno üben“ - Düsseldorf - Bild.de "Fake News": Warnung vor "Faktor Mensch" - science.ORF.at Bad News sind überall erfolgreicher - science.ORF.at Als Gauland dem bohrenden Markus Lanz antwortet, wird es kurz still im Studio - Deutschland - FOCUS Online Markus Lanz grillt Alexander Gauland: "Das ist albern, das ist albern" | STERN.de Geheimes Zusatzprotokoll: Moskau veröffentlicht Faksimiles Keiner will den angeblich ältesten Porsche - Auto & Mobil - Süddeutsche.de Erfinder will Streetscooter zurückkaufen - Wirtschaft - Süddeutsche.de USA: Hurrikan-Zentrum stuft "Dorian" wieder hoch - Kategorie 3 - SPIEGEL ONLINE CNN-Townhall: Die US-Demokraten ringen um den Umgang mit der Klimakrise - SPIEGEL ONLINE RheinJet: Neuer Konkurrent für die Deutsche Bahn im Fernverkehr | ZEIT ONLINE LaShawn Daniels (†41): Beyoncé und Lady Gaga trauern um Hit-Schreiber - Leute - Bild.de Brexit-Debakel für Boris Johnson: Gibt Brüssel grünes Licht für Verschiebung? - Politik Ausland - Bild.de Lügde: Sicherungsverwahrung und lange Haftstrafen für Kinderschänder - Ruhrgebiet - Bild.de Die Wutprobe - Schlaflos SPD-Casting: „Die 100-Euro-Scheine liegen auf der Straße” - WELT Menowin Fröhlich – Wikipedia "Sommerhaus der Stars": Menowin Fröhlich erträgt die Streitereien nicht | STERN.de Regierung gibt Widerstand gegen Anti-No-Deal-Gesetz auf - Politik - Süddeutsche.de Vergiss die Lage! - brand eins online Erdgeschichte: Los geht’s | ZEIT ONLINE Großbritannien: Regierung will Gesetz gegen No-Deal-Brexit offenbar akzeptieren | ZEIT ONLINE Brexit: Das sind die 21 ausgeschlossenen Tory-Rebellen - SPIEGEL ONLINE Dunja Hayali: AfD-Talk mit Jörg Meuthen im ZDF: Suche nach einem Patentrezept - SPIEGEL ONLINE SPD sucht Parteivorsitzende: Ersten Treffen der Kandidaten in Saarbrücken - SPIEGEL ONLINE Fridays for Future: Söder und der Klimawandel auf der Zugspitze München: Ermittlungen gegen Wiesn-Schausteller - München - Süddeutsche.de Neues Buch über Melania Trump: Böser Vergleich mit Michelle Obama - Politik - Bild.de In Deutschland herrscht ein verzerrtes Bild vom Unternehmertum Künstliche Intelligenz löst Hausaufgaben: Kostenlose Google-App erklärt & löst Aufgaben aus vielen Bereichen - GWB Smoo_Cave-Second_Chamber.jpg (JPEG-Grafik, 4928 × 3264 Pixel) - Skaliert (19%) Smoo Cave - Wikipedia Scottish Highlands - Wikipedia Scottish people - Wikipedia Brexit-Chaos: Johnson entfacht schottische Unabhängigkeitsbewegung neu - WELT Wahlkampf in Österreich - Wer hat's erfunden? - Politik - Süddeutsche.de Österreich - Falsch gerechnet - Politik - Süddeutsche.de Sim-Swapping - Wenn Telefonnummern zu Waffen werden - Digital - Süddeutsche.de Hacker erbeuten Geld mit übernommenen Handynummern - Digital - Süddeutsche.de "Dorian": Trump und die veränderte Hurrikan-Karte - Politik - Süddeutsche.de Brexit: John Bercow, die Stimme der Vernunft - SPIEGEL ONLINE Spanien: Sportübertragung enttarnt Marihuana-Plantage Berliner Polizei sucht wieder nach vermisster Rebecca Kommentar zur „bürgerlichen“ AfD: Die schizophrene Partei Großbritannien: Premier Boris Johnson - Der Zocker - SPIEGEL ONLINE Scheinheilig? Prinz Harry verteidigt Privatjet-Flüge - WELT
Bilderstrecke zu: Giftiger Käfer aus Afrika: Fernhalten von der Championsfliege - Bild 1 von 6 - FAZ
Mike Pence wird in Island mit kreativem Protest begrüßt | STERN.de
Boris Johnson redet ungerührt weiter, nachdem eine Frau hinter ihm zu Boden geht | STERN.de
Kommentare
Kommentar veröffentlichen