Trying to improve my understanding of expressions. Thought that would be possible to express
file_stat = %File.Stat{
size: 2,
type: :regular,
access: :read_write,
atime: {{2023, 3, 24}, {11, 46, 44}},
mtime: {{2023, 3, 23}, {16, 54, 17}},
ctime: {{2023, 3, 23}, {16, 53, 28}},
mode: 33206,
links: 1,
major_device: 3,
minor_device: 0,
inode: 0,
uid: 0,
gid: 0
}
ctime= file_stat.ctime
{:ok, d} = Date.from_erl(elem(ctime,0))
{:ok, t} = Time.from_erl(elem(ctime,1))
{:ok, dt} = DateTime.new(d, t)
DateTime.diff(DateTime.utc_now(), dt, :hour)
later portion as something like
DateTime.diff(DateTime.utc_now(),
{:ok, dt} = DateTime.new(
{:ok, d} = Date.from_erl(elem(ctime,0)); d,
{:ok, t} = Time.from_erl(elem(ctime,1)); t); dt, :hour)
Certainly that doesn’t make it shorter in any way! I was simply curious why this is a disallowed syntax.