Liste des Groupes | Revenir à co vms |
On 8/4/2024 8:09 PM, Dan Cross wrote:In article <v8o4h8$2ut3$1@dont-email.me>,
Arne Vajhøj <arne@vajhoej.dk> wrote:On 8/4/2024 8:22 AM, Dan Cross wrote:Interesting, this has become du jour again in modern languages,>
but those tend to provide access to a `slice` type that provides
a window onto the underly array, and implicitly encodes a
length (and usually a "capacity"). This makes working with
arrays in such languages very convenient.
Different people may have different opinions on what is a modern
language.
Designed in this century.
That rules out Java.
But there are still languages like C#, Scala and Kotlin.
But a lot of the widely used static typed languages does not
have any problems with arrays of different lengths as they
are treated as objects.
Like I said, modern languages make this a solved problem.
But C#, Scala and Kotlin also just allows for passing any length
arrays to methods taking an array.
Like:
>
public class FlexArray {
private static void dump(int[] a) {
for(int v : a) {
System.out.printf(" %d", v);
}
System.out.println();
}
public static void main(String[] args) throws Exception {
int[] a1 = { 1 };
int[] a2 = { 1, 2 };
int[] a3 = { 1, 2, 3 };
dump(a1);
dump(a2);
dump(a3);
}
}
Java arrays are more like the aforementioned slices.
I don't think so.
Java does not have anything like slices.
C# does.
>
C# Span is similar to slices. But C# Span and C# array are far from
the same.
Arne
Les messages affichés proviennent d'usenet.