7 ms·
A Quine in Fortran 90
- mkj 11y agoI suppose string handling isn't Fortran's strong point!
- randlet 11y agoEnjoyed the article. It made me pine for the days when I had time to dedicate a day to just play with code.
- verandaguy 11y agoI may be missing something, but isn't a quine trivial when you use a language that allows for file I/O (which I believe Fortran does have)? Or is the point of the "challenge" to avoid using file I/O?
- orph4nus 11y agoI could be wrong, as I only learned about the concept of a quine recently. But the way I understand it, it is good enough to simply output it. I suppose you could write to a file as well, but where would you write to? The wikipedia page for a quine has a lot of examples and all of them seem to simply output to stdout, just as I did. I don't think the challenge talks at any point about I/O, so I do think you can use it if you would want to.
- verandaguy 11y agoI didn't mean that you could output to a file -- I meant that, knowing the name of the file the program is saved to (which is possible using facilities available in many modern languages, not sure about Fortran), you can ingest that file and print out its contents (to STDOUT for example). It feels like cheating, but it's also probably the easiest way to get a true quine which'll always work even if you modify parts of the code (while retaining the part of the program which ingests and prints out the file's contents).
- randlet 11y ago#!/usr/bin/env python2.7 print open(__file__, 'r').read() Seems like cheating!
- pmav 11y agoI had the same feeling: https://en.wikipedia.org/wiki/Quine_%28computing%29#.22Cheating.22_quines https://en.wikipedia.org/wiki/Quine_%28computing%29#.22Cheat...
- gliese1337 11y agoMany years ago, I attempted to cheat this way when writing a JScript quine- but it didn't work because the Windows Scripting Host keeps the source file open while interpreting it, which meant the script couldn't open its own source file because the file was already open in another program! A proper quine, though, doesn't require input.
- orph4nus 11y agoA multiquine does require you to give input in order to determine what language to output. Although it will output the current file if no input is giving. More info @ https://en.wikipedia.org/wiki/Quine_(computing)#Multiquines https://en.wikipedia.org/wiki/Quine_(computing)#Multiquines
- gliese1337 11y agoThe definition of a multiquine specifically disallows passing in source code as input, though. The input to a multiquine is strictly for selecting which sub-quine to run, or which output set to calculate, and is not used in any way to influence the calculation of the selected output.
- deleted 11y ago[deleted]
- ISISIS 11y agoprint "(2a, 2('2459093414108622880,2821560280312525352,3180149544576887847,1684956475', a))",2459093414108622880,2821560280312525352,3180149544576887847,1684956475;end
- emson 11y agoGreat, every language needs a Quine. Here's one we created in Elixir: http://elixirgolf.com/articles/elixir-quine-self-replicating-program/ http://elixirgolf.com/articles/elixir-quine-self-replicating...