Table.sort Issue

local tab = {}
for i,v in pairs(game.ReplicatedStorage.val:GetChildren()) do
	for i2,v2 in pairs(v:GetChildren()) do
		tab[v2.Value] = v.Value
		--table.insert(tab,v2.Value)
		table.sort(tab, function(a,b)
			return a[1] > b[1]
		end)
	end
end

for i, v in pairs(tab) do
	print(tab) 
end

what’s the difference, about return a[1] > b[1], and only return Function
They have same output