File indexing completed on 2025-02-02 03:54:47
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>test.jl</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Julia) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d"># Test file for Julia</span> 0008 0009 <span style="color:#7a7c7d"># Comment</span> 0010 0011 <span style="color:#7a7c7d">#= Multi-line</span> 0012 <span style="color:#7a7c7d"> comment =#</span> 0013 0014 <span style="color:#2980b9;background-color:#153042">#BEGIN</span> 0015 0016 <span style="color:#2980b9;background-color:#153042">#END</span> 0017 0018 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Random</span>, <span style="color:#7f8c8d">LinearAlgebra</span> 0019 x <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">+</span> <span style="color:#f67400">1</span> 0020 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>, 0021 <span style="color:#7f8c8d">HDF5</span>, <span style="color:#7a7c7d"># this is a comment</span> 0022 <span style="color:#7f8c8d">Plots</span> 0023 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">DataFrames</span>, <span style="color:#7f8c8d">Tables</span>, 0024 0025 <span style="color:#7a7c7d"># this is a comment</span> 0026 <span style="color:#7f8c8d">Plots</span> 0027 x <span style="color:#3f8058">=</span> x <span style="color:#3f8058">ยฑ</span> <span style="color:#f67400">2</span> 0028 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">SparseArrays</span>: SparseMatrixCSC 0029 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Sockets</span>: Sockets, connect, 0030 listen, 0031 getaddrinfo 0032 x <span style="color:#3f8058">=</span> x<span style="color:#3f8058">^</span><span style="color:#f67400">3</span> 0033 <span style="color:#27ae60">using</span> <span style="color:#7f8c8d">Statistics</span>: 0034 std, 0035 stdm 0036 0037 <span style="color:#f44f4f">"""</span> 0038 <span style="color:#f44f4f"> Multi-line string</span> 0039 <span style="color:#f44f4f">"""</span> 0040 <span style="color:#da4453">```</span> 0041 <span style="color:#da4453"> Multi-line command</span> 0042 <span style="color:#da4453">```</span> 0043 <span style="color:#f44f4f">raw"string\a\\a"</span> 0044 0045 <span style="color:#f44f4f">"string </span><span style="color:#3daee9">$</span>testvar<span style="color:#f44f4f"> interpolation"</span> 0046 <span style="color:#f44f4f">"string \$testvar interpolation"</span> 0047 <span style="color:#f44f4f">"string </span><span style="color:#3daee9">$</span>(<span style="color:#8e44ad">collect</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">10</span>) <span style="color:#3f8058">.^</span> <span style="color:#f67400">3</span>)<span style="color:#f44f4f"> interpolation"</span> 0048 <span style="color:#f44f4f">"string \$(collect(1:10) .^ 3) interpolation"</span> 0049 0050 <span style="font-weight:bold">let</span> z <span style="color:#3f8058">=</span> <span style="color:#8e44ad">zip</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">2</span>, <span style="color:#f67400">3</span><span style="color:#3f8058">:</span><span style="color:#f67400">4</span>, <span style="color:#f67400">5</span><span style="color:#3f8058">:</span><span style="color:#f67400">6</span>) 0051 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">size</span>(z) <span style="color:#3f8058">==</span> (<span style="color:#f67400">2</span>,) 0052 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">collect</span>(z) <span style="color:#3f8058">==</span> [(<span style="color:#f67400">1</span>,<span style="color:#f67400">3</span>,<span style="color:#f67400">5</span>), (<span style="color:#f67400">2</span>,<span style="color:#f67400">4</span>,<span style="color:#f67400">6</span>)] 0053 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">eltype</span>(z) <span style="color:#3f8058">==</span> <span style="color:#2980b9">Tuple</span>{<span style="color:#2980b9">Int</span>,<span style="color:#2980b9">Int</span>,<span style="color:#2980b9">Int</span>} 0054 <span style="font-weight:bold">end</span> 0055 0056 <span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"generic conversion from Integer"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span> 0057 x <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">Int128</span>) 0058 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">BigInt</span>(x) <span style="color:#3f8058">%</span> <span style="color:#2980b9">Int128</span> <span style="color:#3f8058">===</span> x 0059 y <span style="color:#3f8058">=</span> <span style="color:#8e44ad">rand</span>(<span style="color:#2980b9">UInt128</span>) 0060 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">BigInt</span>(y) <span style="color:#3f8058">%</span> <span style="color:#2980b9">UInt128</span> <span style="color:#3f8058">===</span> y 0061 <span style="color:#fdbc4b;font-weight:bold">end</span> 0062 0063 <span style="color:#27ae60">@testset</span> <span style="color:#f44f4f">"show"</span> <span style="color:#fdbc4b;font-weight:bold">begin</span> 0064 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">sprint</span>(show, <span style="color:#8e44ad">BitSet</span>()) <span style="color:#3f8058">==</span> <span style="color:#f44f4f">"BitSet([])"</span> 0065 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">sprint</span>(show, <span style="color:#8e44ad">BitSet</span>([<span style="color:#f67400">1</span>,<span style="color:#f67400">2</span>,<span style="color:#f67400">3</span>])) <span style="color:#3f8058">==</span> <span style="color:#f44f4f">"BitSet([1, 2, 3])"</span> 0066 <span style="color:#8e44ad">show</span>(<span style="color:#8e44ad">IOBuffer</span>(), <span style="color:#8e44ad">BitSet</span>()) 0067 <span style="color:#fdbc4b;font-weight:bold">end</span> 0068 0069 cmd <span style="color:#3f8058">=</span> <span style="color:#da4453">`$(Base.julia_cmd()) --depwarn=error --startup-file=no boundscheck_exec.jl`</span> 0070 <span style="color:#fdbc4b;font-weight:bold">if</span> !<span style="color:#8e44ad">success</span>(<span style="color:#8e44ad">pipeline</span>(cmd; <span style="color:#27aeae;font-weight:bold">stdout</span><span style="color:#3f8058">=</span><span style="color:#27aeae;font-weight:bold">stdout</span>, <span style="color:#27aeae;font-weight:bold">stderr</span><span style="color:#3f8058">=</span><span style="color:#27aeae;font-weight:bold">stderr</span>)) 0071 <span style="color:#8e44ad">error</span>(<span style="color:#f44f4f">"boundscheck test failed, cmd : </span><span style="color:#3daee9">$</span>cmd<span style="color:#f44f4f">"</span>) 0072 <span style="color:#fdbc4b;font-weight:bold">end</span> 0073 0074 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">iterate</span>(I, <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">3</span>, <span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>)))[<span style="color:#f67400">1</span>] <span style="color:#3f8058">==</span> <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">4</span>,<span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>)) 0075 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">iterate</span>(I, <span style="color:#8e44ad">CartesianIndex</span>(<span style="color:#f67400">4</span>, <span style="color:#8e44ad">typemax</span>(<span style="color:#2980b9">Int</span>))) <span style="color:#3f8058">===</span> <span style="color:#27aeae;font-weight:bold">nothing</span> 0076 <span style="color:#27ae60">@test_throws</span> <span style="color:#2980b9">MethodError</span> <span style="color:#8e44ad">write</span>(<span style="color:#8e44ad">IOBuffer</span>(), <span style="color:#8e44ad">ASCIIChar</span>(<span style="color:#3daee9">'x'</span>)) 0077 <span style="color:#27ae60">@test_throws</span> <span style="color:#2980b9">MethodError</span> <span style="color:#8e44ad">read</span>(<span style="color:#8e44ad">IOBuffer</span>(<span style="color:#3daee9">'x'</span>), ASCIIChar) 0078 0079 <span style="font-weight:bold">let</span> header <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"julia [switches] -- [programfile] [args...]"</span> 0080 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">startswith</span>(<span style="color:#8e44ad">read</span>(<span style="color:#da4453">`$exename -h`</span>, <span style="color:#2980b9">String</span>), header) 0081 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">startswith</span>(<span style="color:#8e44ad">read</span>(<span style="color:#da4453">`$exename --help`</span>, <span style="color:#2980b9">String</span>), header) 0082 <span style="font-weight:bold">end</span> 0083 0084 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">isequal</span>(<span style="color:#8e44ad">exp</span>(<span style="color:#8e44ad">complex</span>( <span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>)), <span style="color:#8e44ad">complex</span>(<span style="color:#3f8058">-</span><span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>)) 0085 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">isequal</span>(<span style="color:#8e44ad">exp</span>(<span style="color:#8e44ad">complex</span>( <span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">Inf</span>)), <span style="color:#8e44ad">complex</span>(<span style="color:#3f8058">-</span><span style="color:#27aeae;font-weight:bold">Inf</span>, <span style="color:#27aeae;font-weight:bold">NaN</span>)) 0086 0087 <span style="color:#7a7c7d"># Numbers</span> 0088 <span style="color:#f67400">0b10</span> 0089 <span style="color:#f67400">0o01_70</span> 0090 <span style="color:#f67400">0x00000000000000001111_22_2233334444</span> 0091 <span style="color:#3f8058">-</span><span style="color:#f67400">0x0002im</span> 0092 <span style="color:#f67400">1.0e10</span> 0093 <span style="color:#f67400">0.00025f0</span> 0094 <span style="color:#3f8058">-</span><span style="color:#f67400">1.5_5f0</span> 0095 <span style="color:#f67400">0xdeadbeefim</span> 0096 <span style="color:#f67400">0x1.8p3</span> 0097 <span style="color:#f67400">0x.4p-1</span> 0098 <span style="color:#7a7c7d"># Invalid number</span> 0099 <span style="color:#f67400">0x000</span>__22 0100 0101 chars <span style="color:#3f8058">=</span> [<span style="color:#3daee9">'0'</span>, <span style="color:#3daee9">'1'</span>, <span style="color:#3daee9">'2'</span>, <span style="color:#3daee9">'3'</span>, <span style="color:#3daee9">'a'</span>, <span style="color:#3daee9">'b'</span>, <span style="color:#3daee9">'c'</span>, <span style="color:#3daee9">'d'</span>, <span style="color:#3daee9">'e'</span>, <span style="color:#3daee9">'X'</span>, <span style="color:#3daee9">'Y'</span>, <span style="color:#3daee9">'Z'</span>, 0102 <span style="color:#3daee9">'๐ '</span>, <span style="color:#3daee9">'๐ '</span>, <span style="color:#3daee9">'๐ '</span>, <span style="color:#3daee9">'๐ '</span>, <span style="color:#3daee9">'๐ก'</span>, <span style="color:#3daee9">'๐ข'</span>, <span style="color:#3daee9">'๐ฃ'</span>, <span style="color:#3daee9">'๐ฎ'</span>] 0103 0104 <span style="color:#27ae60">@test</span> <span style="color:#8e44ad">docstrings_equal</span>(<span style="color:#27ae60">@doc</span>(ModuleMacroDoc), <span style="color:#f44f4f">doc"I am a module"</span>) 0105 <span style="color:#8e44ad">match</span>(<span style="color:#f44f4f">r"^</span><span style="color:#3daee9">\s*</span><span style="color:#3daee9">(?</span><span style="color:#f44f4f">:#</span><span style="color:#3daee9">|</span><span style="color:#3daee9">$</span><span style="color:#f44f4f">)", "# </span>a<span style="color:#f44f4f"> comment"</span>) 0106 0107 <span style="font-weight:bold">abstract type</span> Test2 <span style="font-weight:bold">end</span> 0108 0109 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">โabcโdef</span>(a<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span>, 0110 b<span style="color:#3f8058">::</span><span style="color:#2980b9"> Int</span>, 0111 c<span style="color:#3f8058">::</span><span style="color:#2980b9">Dict{String, Int}</span>, 0112 d<span style="color:#3f8058">::</span><span style="color:#2980b9"> Dict{String, Vector{eltype(var1)}}</span>, 0113 f<span style="color:#3f8058">::</span><span style="color:#2980b9">AbstractVector{<:Number}</span>, 0114 g<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>, 0115 h<span style="color:#3f8058">::</span><span style="color:#2980b9">T</span>) <span style="font-weight:bold">where</span> {T <span style="color:#3f8058"><:</span><span style="color:#2980b9"> Number</span>} 0116 x<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span> 0117 z <span style="color:#3f8058">=</span> <span style="color:#8e44ad">collect</span>(<span style="color:#f67400">1</span><span style="color:#3f8058">:</span><span style="color:#f67400">10</span>) 0118 <span style="color:#fdbc4b;font-weight:bold">return</span> z[<span style="color:#f67400">3</span><span style="color:#3f8058">:</span><span style="font-weight:bold">end</span>] <span style="color:#3f8058">.+</span> x <span style="color:#3f8058">.-</span> a 0119 <span style="font-weight:bold">end</span> 0120 0121 <span style="font-weight:bold">mutable struct</span> TestType <span style="color:#3f8058"><:</span><span style="color:#2980b9"> AbstractVector{Number}</span> 0122 field1<span style="color:#3f8058">::</span><span style="color:#2980b9">Int</span> 0123 โfield2<span style="color:#3f8058">::</span><span style="color:#2980b9">Vector</span> 0124 <span style="font-weight:bold">end</span> 0125 0126 <span style="font-weight:bold">struct</span> ParametricType{T, V <span style="color:#3f8058"><:</span><span style="color:#2980b9"> Tuple</span>} 0127 field1 0128 field2<span style="color:#3f8058">::</span><span style="color:#2980b9">Float</span> 0129 0130 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">ParametricType</span><span style="color:#2980b9">{T, V}</span>(r, d) <span style="font-weight:bold">where</span> {T, V <span style="color:#3f8058"><:</span><span style="color:#2980b9"> Tuple</span>} 0131 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#8e44ad">new</span><span style="color:#2980b9">{T, V}</span>(r, d) 0132 <span style="font-weight:bold">end</span> 0133 <span style="font-weight:bold">end</span> 0134 </pre></body></html>