我正在学习R编程并学习如何在R中编写函数。下面是一段代码,我无法理解第四行,即params [!fixed] <-p。
#!/bin/sh
if [ "$DATABASE" = "postgres" ]
then
echo "Waiting for postgres..."
while ! nc -z $SQL_HOST $SQL_PORT; do
sleep 0.1
done
echo "PostgreSQL started"
fi
# tried several with and without combinations
python manage.py flush --no-input
python manage.py makemigrations my_app
python manage.py migrate
exec "$@"
答案 0 :(得分:0)
检查此:
fixed = c(FALSE, FALSE)
params <- fixed
params
params[!fixed]
[1] FALSE FALSE
最初,您只是传递带有两个布尔值的向量。
fixed = c(FALSE, 2)
params <- fixed
params
params[!fixed]
!fixed
> params
[1] 0 2
> params[!fixed]
[1] 0
但是,当给函数提供参数时,您会发现没有FALSE
。这是因为有一种叫做强制的东西。 FALSE
被强制为0。
所以现在发生的是:您得到params的元素,它不是向量中的第二个元素,即0。
常规索引如下:c(1,2,3)[2]