It was in the Problems tab that I saw there was a problem. It says there:
Possible method call error. Julia[4, 17]
I need to be able to delete a column of a DataFrame that was defined outside of a function. The function delcol does that, but I get the message above. It would be best to eliminate it.
There are other ways of deleting a column. For example, I could work with names(df), delete from it the undesired column name, and then call select with the shorter list of column names. I might end up going that way.
Okay so there you have the problem - it’s a possible method call error. Of course in this case it isn’t an actual method call error, as the call signature select(::DataFrame, ::InvertedIndex) exists, so there’s a problem in how the Julia extension finds the method definitions for your code. Have you activated an environment that has DataFrames in it?
To answer your third question, you can disable this linter option in the extension settings:
And finally select! is indeed the way to remove a column from an existing DataFrame in place, I still don’t understand why you define a function that does nothing else than call the select function rather than just using the select function. Also you can do Not(:A), no need to create a one-element vector in the inverted index.
The package DataFrames is part of the environment.
Thanks for the info on disabling lint. I could not install package Lint, though:
(BW1) pkg> add Lint
Updating registry at `C:\Users\fsald\.julia\registries\General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
ERROR: The following package names could not be resolved:
* Lint (not found in project, manifest or registry)
From inside Julia with Pkg.add("Lint") also did not work.
In my original code I have a function that receives a dataframe as an argument, removes a column from that dataframe, and adds newly calculated columns to that same dataframe. That function was quite complex, as it also performed other unrelated tasks. It wasn’t fit to be posted “as is,” since Julia Discourse’s guidelines ask for MWEs. For this reason I removed from it the unrelated tasks, trying to generate a MWE. What remained looked like a function that just wraps a select statement, which of course is not a very interesting function by itself.
But I assume the actual MWE in your code would have been
or not? Are there differences in the linter result between the function you defined and other calls to select?
Lint is not a package, linting is the process of running an automated code-checker to identify issues in your code. The Julia VSCode extension has in inbuilt linter, and the screenshot I shared was a screenshot taken from the Julia extension settings.
does not generate messages in the Problems tab, but
Possible method call error. Julia[133, 16]
I looked further into the linter. I can toggle it on or off in settings.json or equivalently with Ctrl+Shift+P and choosing Julia: Toggle Linter. When I toggle off the linter the messages on the Problems tab disappear.
I could not figure out how to get to the screen with julia> Lint: Call you posted. Typing Lint: Call or even just Lint on a julia> prompt generates an error message.
I added InvertedIndices to the environment, restarted VSCode and the entry in the Problems tab is still there, whether I run the program from VSCode (clicking on an triangular arrow on the upper right of my screen) or by cutting and pasting in a REPL started from Powershell (inside VSCode) by typing julia.