PEJI.IR

متغیر ها

۱۴۰۰ آبان ۷, جمعه ساعت ۷:۴۵

برای اینکه بتونم type متغییر ها رو داشته باشم باید سایز متغییر ها رو از ۴ به ۵ تغییر بدم و اون رو داخل یک struct با ۵ بایت نگه دارم. با اینکار دیگه مستقیم نمیشه توابع c رو صدا زد و باید برای هر کاری یک extension به اصطلاح نوشته بشه و اون توابع رو صدا زد.

مثلا برای print یک تابع با ورودی از نوع متغییر خودم نوشتم که اون رو به جای printf صدا میکنم. با این روش ورودی هر چیزی که باشه تشخیص میدم و اون رو چاپ میکنم. مثلا ورودی میتونه یک آرایه باشه که اون آرایه رو میشه چاپ کرد.

این نیاز رو زمانی دیدم که میخواستم برای آرایه ورودی غیر string تعریف کنم.

اصلاح

دارم از یک روش دیگه ای استفاده میکنم ... نمیخوام پرفرمنس کار بیاد پایین ... خب با این روش کار انجام شد ...

test() {
	return 1;
}

main() {

	var i = 1;
	var arr = [test() : "test"];

	printf("%s\n", arr[test()]);
}