R中是否有一个函数可以告诉我给定对象(或类)的属性?
传递file类时,请考虑python中的"dir"函数:
>>> dir(file)
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__',
'__format__', '__getattribute__', '__hash__', '__init__', '__iter__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', 'close', 'closed',
'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name',
'newlines', 'next', 'read', 'readinto', 'readline', 'readlines',
'seek', 'soft space', 'tell', 'truncate', 'write', 'writelines',
'xreadlines']
Run Code Online (Sandbox Code Playgroud)
也许还有一个相同的type(?)
>>> type(1)
<type 'int'>
Run Code Online (Sandbox Code Playgroud) 通常我看到人们使用sed操作字符串如下:
echo "./asdf" | sed -n -e "s%./%%p"
Run Code Online (Sandbox Code Playgroud)
我最近了解到我也可以这样做:
sed -n -e "s%./%%p" <<< "./asdf"
Run Code Online (Sandbox Code Playgroud)
是否有理由避免后者?例如,它是特定于bash的行为吗?
是否可以告诉SHELL,例如 bash,使用特定的 (bash)rc 文件.SHELLFLAGS?
您将在下面看到两个示例。第一个显示了我想要做什么,第二个说明了实现预期结果的一种方法。
我问的原因是我有一个 bashrc文件(来自 OpenFOAM)定义了一堆我想在各种配方中使用的变量和函数。
感谢您的时间。
示例(不工作)
文件bashrc::
export HELLOWORLD="Hello World"
Run Code Online (Sandbox Code Playgroud)文件Makefile::
SHELL=/bin/bash
.SHELLFLAGS=--rcfile bashrc --
test:
@\
echo "$${HELLOWORLD}"
Run Code Online (Sandbox Code Playgroud)示例(工作)
文件bashrc::
export HELLOWORLD="Hello World"
Run Code Online (Sandbox Code Playgroud)文件Makefile::
.ONESHELL:
SHELL=/bin/bash
test: ; source bashrc
@\
echo "$${HELLOWORLD}"
Run Code Online (Sandbox Code Playgroud)