✅ عملگرهای (& و |) و عملگرهای (&& و ||) را به جای هم به کار نبریم
⭐️ عملگرهای AND و OR در R را به ترتیب با & و | نشان میدهند. یک اشتباه رایج این است که کاربران به جای استفاده از & از && استفاده میکنند. اینجا چند تفاوتشون رو با هم بررسی میکنیم.
1- عملگردهای & و | به صورت مولفه-به-مولفه (element-wise) یا برداری (vectorised) عمل میکنند
#and #or #operator
🆔 @RSTUDIO_IR
⭐️ عملگرهای AND و OR در R را به ترتیب با & و | نشان میدهند. یک اشتباه رایج این است که کاربران به جای استفاده از & از && استفاده میکنند. اینجا چند تفاوتشون رو با هم بررسی میکنیم.
1- عملگردهای & و | به صورت مولفه-به-مولفه (element-wise) یا برداری (vectorised) عمل میکنند
a = c(TRUE, TRUE, FALSE, FALSE)
b = c(TRUE, FALSE, TRUE, FALSE)
a | b
# [1] TRUE TRUE TRUE FALSE
2- عملگرهای && و || حالت خاصی از نسخه برداری هستند که short-circuited نامیده میشوند و تنها تا جایی مقایسه را انجام میدهند که اولین شرط برقرار بشه بنابراین فقط یک خروجی TRUE یا FALSE دارن.a || b
# [1] TRUE
3- عملگرهای & و | قابلیت انجام محاسبه بیتی (bitwise arithmetic) را دارند اما && و || خیر.as.raw(c(1, 3)) | as.raw(c(2, 4))از میان عملگرهای دیگر، عملگر ! و xor نیز قابلیت محاسبه بیتی دارند.
# [1] 03 07
as.raw(c(1, 3)) || as.raw(c(2, 4))
# Error in as.raw(c(1, 3)) || as.raw(c(2, 4)) :
#and #or #operator
🆔 @RSTUDIO_IR