Portál AbcLinuxu, 30. října 2025 08:24
File.open(filename).each do |line| print line endZápis blocku jde zkrátit pomocí '&':
[1,2,3].inject(&:+) # 6S použitím pár dalších knihovních metod:
TIOCGWINSZ = 0x5413
def terminal_size
buf = [0, 0, 0, 0].pack('S4')
if STDOUT.ioctl(TIOCGWINSZ, buf) >= 0
buf.unpack('S4')[0..2]
else
[20, 70]
end
end
words = ARGF.readlines.map(&:strip).sort
width = words.map(&:length).max + 1
col = terminal_size[1] / width
row = words.size / col + 1
padding = row - words.size % row
words.fill('', words.size, padding)
puts words.each_slice(row).to_a.transpose
.map { |ws| ws.map { |w| w.ljust(width) }.join }
.join("\n")
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.