ruby 为什么我在Mac的TextEdit上写的任何字符串都会收到一个'undefined local variable or method'的消息?

jucafojl  于 2023-08-04  发布在  Ruby
关注(0)|答案(2)|浏览(85)

我正在学习编程,从Ruby开始。在使用TextEdit时,我能够运行数字代码,但是puts "text"的任何变体都会返回错误消息
main:Object的未定义局部变量或方法“text”(NameError)。
我用了另一个文本编辑器,它工作得很好。谁能帮我弄清楚哪里出了问题?谢谢你,谢谢
我现在使用Sublime Text而不是TextEdit。

gywdnpxw

gywdnpxw1#

这些错误的一个常见来源是使用编辑器将“普通”引号字符"'替换为印刷引号。你的原始代码

puts "text"

字符串
可能因此被您的编辑器替换为

puts “text”


但是Ruby总是需要带有字符串字面量的“纯”引号字符。当使用其他字符时,Ruby假设您要调用一个名为“text”的方法,并相应地失败,因为您没有定义这样的方法。
最后,通常使用一个适合代码编辑的编辑器(如Sublime、VisualStudio Code、Textmate、Nova或其他),而不是适合文本编辑的编辑器(如TextEdit、Pages、Word等),以避免此类问题。

qij5mzcb

qij5mzcb2#

Mac上的TextEdit默认为“Rich Text”,其中嵌入了有关字体选择和大小,粗体/斜体,下划线,字距调整和间距等的信息。您可以使用它来编辑代码,但要做到这一点,您需要转到Format菜单并选择Make Plain Text。这将删除所有嵌入的格式化字节。
虽然这样做是可行的,但体验不会像使用程序员的文本编辑器那样愉快,文本编辑器有助于缩进,语法着色,并且(通常)提供编译或运行代码的工具。MacOS附带了vi/vim和皮科,它们都可以从命令行工作。虽然vi功能强大,但它有一个非常陡峭的学习曲线。皮科是极简的,但在窗口底部显示可用的命令。很多其他的好选择都可以很容易地下载。有些是免费的,有些需要付费。你和编辑的关系很大程度上取决于你的个人品味,你会在你选择的任何环境中花很多时间,所以我建议你尝试几个,看看什么适合你个人--有点像挑选鞋子。

相关问题