Model: GPT-4
Date: 2023-04-09
おおよそ2MBの大きさになるようなテキストファイルを作るRubyのプログラムを書いてください。文字列はランダムなASCIIでprintableな文字からなり、だいたい100文字程度で改行されるようにしてください。
Rubyを使って、2MBの大きさになるようなテキストファイルを作成し、ランダムなASCIIの印刷可能な文字を含む100文字の行で構成されるようにするには、以下のプログラムを使用できます。
require 'securerandom'
# ファイル名を設定します
file_name = 'random_text_2mb.txt'
# 2MBのバイト数を定義します
target_bytes = 2 * 1024 * 1024
# 行ごとの文字数を定義します
chars_per_line = 100
# 2MBの大きさに達するまでランダム文字列を生成します
File.open(file_name, 'w') do |file|
bytes_written = 0
while bytes_written < target_bytes
# ランダムなASCIIの印刷可能な文字を含む100文字の文字列を生成します
random_string = SecureRandom.random_bytes(chars_per_line).gsub(/[^[:print:]]/, '')
# 文字列が目標バイト数を超えないように調整します
if (bytes_written + random_string.bytesize + 1) > target_bytes
random_string = random_string.slice(0, target_bytes - bytes_written - 1)
end
# ファイルにランダムな文字列を書き込みます
file.puts(random_string)
# 書き込まれたバイト数を更新します
bytes_written += random_string.bytesize + 1
end
endこのプログラムは、2MBの大きさになるまでランダムなASCIIの印刷可能な文字を含む100文字の行を生成し、指定されたファイル名のテキストファイルに書き込みます。ランダムな文字列は、SecureRandom.random_bytesを使用して生成され、印刷不可能な文字は除外されます。最後に、ファイルのサイズが2MBを超えないように、最後の文字列が適切な長さに切り詰められます。
Result: