Re: serach.brave.com's AI and Raku

[email protected] (Timo Paulssen via perl6-users)
Newsgroups perl.perl6.users
Message-ID <[email protected]>
On 10/10/24 12:31, ToddAndMargo via perl6-users wrote:
> Oh you know it would be helpful to show the results:
>
> [...]
>
>     Specify a prefix and suffix for the filename:
>
> my ($filename, $filehandle) = tempfile(:prefix('foo'), :suffix(".txt"));
>
>
> Note that tempfile returns a tuple containing the filename and a 
> filehandle to the temporary file. You can use the filehandle to write 
> to the file, and the filename to access the file later.
>
> Make sure to use the use File::Temp statement at the top of your Raku 
> program to enable the File::Temp module.


When I followed your link I got a slightly different answer:

> Note that the |tempfile| subroutine returns a list containing the 
> filename and a filehandle. You can use the filehandle to write to the 
> file, and then close it when you’re done:
>
> |$filehandle.write("Hello, world!"); # write to the file 
> $filehandle.close; # close the file|
>
> Remember to unlink the file when you’re finished with it to avoid 
> leaving temporary files lying around:
>
> |$filehandle.unlink; # unlink the file|
>
> Alternatively, if you’re using Raku 2020 or later, you can use the 
> |IO::Path| class to create a temporary file:
>
> |my $tmpfile = IO::Path.new(:temp);|
>
> This will create a temporary file with a random name in the system’s 
> temporary directory. You can then use the |write| and |close| methods 
> to interact with the file.
>
Here you can see the Broken Clock Machine working as expected:

1) IO::Handle.write is for writing binary data with Buf, and trying to 
pass a string will give you a type error

2) IO::Handle doesn't have an unlink method, only IO::Path does. You can 
do $filehandle.path.unlink if you want.

3) There is no "Raku 2020", there is rakudo versions from 2020 of 
course, but the versions of the Raku language have letters instead.

4) The :temp argument to IO::Path.new is as far as I know just not a 
thing, and has never been. And even if it existed, you have to .open on 
an IO::Path before you can .close or .write to it.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.