Untitled
unknown
plain_text
10 days ago
1.1 kB
12
Indexable
class Table { has $.name }
sub table(Str $name) { Table.new(:$name) }
multi sub create(Table $ (:$name), &block) is export {
my $*SQL = "CREATE TABLE $name (\n";
my @*SQL-FIELD-DEFINITIONS;
&block();
my $sql-body = @*SQL-FIELD-DEFINITIONS.join: ",\n";
$*SQL ~= "$sql-body\n);";
return $*SQL;
}
proto sub add(Str $field-name, Mu $type, *%options) {*}
multi sub add(Str $field-name, Str, :$size) {
@*SQL-FIELD-DEFINITIONS.push: "$field-name varchar($size)";
}
multi sub add(Str $field-name, Str, *% ()) {
@*SQL-FIELD-DEFINITIONS.push: "$field-name text";
}
######## In rlwrap raku REPL:
[6] > create table('hello'), { add "name", Str }
Use of uninitialized value element of type Any in string context.
Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
in sub add at <unknown file> line 2
in block <unit> at <unknown file> line 3
in any <main> at /Users/arun/.rakubrew/versions/moar-2025.10/install/share/perl6/runtime/perl6.moarvm line 1
in any <entry> at /Users/arun/.rakubrew/versions/moar-2025.10/install/share/perl6/runtime/perl6.moarvm line 1
Editor is loading...
Leave a Comment